博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle Where子句
阅读量:6533 次
发布时间:2019-06-24

本文共 2218 字,大约阅读时间需要 7 分钟。

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

Oracle WHERE子句简介

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

SELECT    column_1,    column_2,    ...FROM    table_nameWHERE    search_conditionORDER BY    column_1,    column_2;

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

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

Oracle WHERE示例

请参阅中的以下产品(products)表,其表结构如下 -

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

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

SELECT    product_name,    description,    list_price,    category_idFROM    productsWHERE    product_name = 'Kingston';

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

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

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

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

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

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

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

SELECT    product_name,    list_priceFROM    productsWHERE    list_price > 500;

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

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

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

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

SELECT    product_name,    list_priceFROM    productsWHERE    list_price > 500    AND category_id = 4;

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

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

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

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

SELECT    product_name,    list_priceFROM    productsWHERE    list_price BETWEEN 650 AND 680ORDER BY    list_price;

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

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

SELECT    product_name,    list_priceFROM    productsWHERE    list_price >= 650 AND list_price <= 680ORDER BY    list_price;

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

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

SELECT    product_name,    category_idFROM    productsWHERE    category_id IN(1, 4)ORDER BY    product_name;

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

表达方式:

category_id IN (1, 4)

等效于 -

category_id = 1 OR category_id = 4

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

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

SELECT   product_name,   list_priceFROM   productsWHERE   product_name LIKE 'Asus%'ORDER BY   list_price;

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

在本教程中,您已学习如何使用Oracle WHERE子句为查询返回指定搜索条件的数据记录。

转载于:https://www.cnblogs.com/youseiraws/p/8600433.html

你可能感兴趣的文章
python 获取进程pid号
查看>>
链表中插入一个节点的三种情况
查看>>
洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
查看>>
TCL函数“参数自动补全” 与 “help 信息显示”
查看>>
汇编基础--标识符、标号、伪指令和指令
查看>>
Linux软中断、tasklet和工作队列
查看>>
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
LightSwitch社区资源搜集
查看>>
Android通讯录查询篇--ContactsContract.Data 二(续)
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>
[原创]BizTalk动手实验系列目录
查看>>
HDU 4611Balls Rearrangement(思维)
查看>>
[LeetCode] Majority Element II
查看>>
minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】
查看>>
我的Dll(动态链接库)学习笔记(转)
查看>>
应用程序域
查看>>
有向图的拓扑排序算法JAVA实现
查看>>
HTML页面跳转的5种方法
查看>>
Android获取当前时间与星期几
查看>>
jenkins2 multibranch
查看>>