专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

九、Oracle Where子句用法

Where是Oracle中的条件查询子句,本教程,将学习如何使用Oracle Where子句来指定过滤的条件返回符合查询条件的行记录。

Oracle WHERE子句简介

WHERE子句指定SELECT语句返回符合搜索条件的行记录。下面说明了WHERE子句的语法:

SELECT
    column_1,
    column_2,
    ...
FROM
    table_name
WHERE
    search_condition
ORDER BY
    column_1,
    column_2;

WHERE子句出现在FROM子句之后但在ORDER BY子句之前。在WHERE关键字之后是search_condition – 它定义了返回行记录必须满足的条件。

除了SELECT语句之外,还可以使用DELETE或UPDATE语句中的WHERE子句来指定要更新或删除的行记录。

Oracle WHERE示例

参阅示例数据库中的以下产品(products)表,其表结构如下:

70_1.png

1. 通过使用简单的相等运算符来查询行记录

以下示例仅返回名称为“Kingston”的产品:

SELECT
    product_name,
    description,
    list_price,
    category_id
FROM
    products
WHERE
    product_name = 'Kingston';

执行上面示例中的查询语句,得到以下结果:

70_2.png

在这个例子中,Oracle按以下顺序评估子句:FROM WHERE和SELECT

  • 首先,FROM子句指定查询数据的表。
  • 其次,WHERE子句基于条件(例如product_name =’Kingston’过滤行记录)。
  • 第三,SELECT子句选择了应该返回的列。

2. 使用比较运算符选择行记录

除了等于(=)运算符之外,Oracle还提供了下表中所示的许多其他比较运算符:

编号 运算符 描述
1 = 等于
2 !=,<> 不等于
3 > 大于
4 < 小于
5 >= 大于或等于
6 <= 小于或等于
7 IN 等于值列表中的任何值
8 ANY/SOME/ALL 将值与列表或子查询进行比较。它必须以另一个运算符(例如:=><)作为前缀。
9 NOT IN 不等于值列表中的任何值
10 [NOT] BETWEEN n AND m 相当于[Not] >= n 且 <= y
11 [NOT] EXISTS 如果子查询返回至少一行,则返回true
12 IS [NOT] NULL 测试NULL的值

例如,要获取标价大于500的产品,请使用以下语句:

SELECT
    product_name,
    list_price
FROM
    products
WHERE
    list_price > 500;

执行上面查询语句,得到以下结果:

70_3.png

3. 选择符合某些条件的行

要组合条件,可以使用AND,OR和NOT逻辑运算符。

例如,要获取属于类别编号是4且标价大于500的所有主板,请使用以下语句:

SELECT
    product_name,
    list_price
FROM
    products
WHERE
    list_price > 500
    AND category_id = 4;

执行上面示例代码,得到以下结果:

70_4.png

4、 选择在两个值之间的值的行记录

要查找具有两个值之间的值的行,请在WHERE子句中使用BETWEEN运算符。

例如,要获取标价在650到680之间(650 <= list_price <= 680)的产品,请使用以下语句:

SELECT
    product_name,
    list_price
FROM
    products
WHERE
    list_price BETWEEN 650 AND 680
ORDER BY
    list_price;

执行上面查询语句,得到以下结果:

70_5.png

请注意,以下表达式是等效的:

SELECT
    product_name,
    list_price
FROM
    products
WHERE
    list_price >= 650 AND list_price <= 680
ORDER BY
    list_price;

5. 选择符合值列表中的行记录

要查询值列表中的行记录,可以使用IN运算符,如下所示:

SELECT
    product_name,
    category_id
FROM
    products
WHERE
    category_id IN(1, 4)
ORDER BY
    product_name;

执行上面查询语句,得到以下结果:

70_6.png

表达方式:

category_id IN (1, 4)

等效于 –

category_id = 1 OR category_id = 4

6. 选择包含值的行作为字符串的一部分

以下语句检索名称以Asus开头的产品:

SELECT
   product_name,
   list_price
FROM
   products
WHERE
   product_name LIKE 'Asus%'
ORDER BY
   list_price;

在这个例子中,我们使用LIKE运算符来根据指定的模式来匹配行记录。

70_7.png

干货推荐

文章永久链接:https://tech.souyunku.com/13261

未经允许不得转载:搜云库技术团队 » 九、Oracle Where子句用法

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们