oracle 条件选择 函数,Oracle Where

本文介绍了Oracle WHERE子句的使用,用于在查询、更新和删除操作中指定筛选条件。通过示例展示了如何使用等于、不等于、大于、小于、BETWEEN、IN、LIKE等比较和逻辑运算符来过滤数据,以及如何组合条件来精确选择所需行记录。
摘要由CSDN通过智能技术生成

oracle函数 的 Oracle Where

在本教程中,将学习如何使用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子句之后但在子句之前。在WHERE关键字之后是search_condition - 它定义了返回行记录必须满足的条件。

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

Oracle WHERE示例

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

4e815065ceab76c52b26454028275490.png

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

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

SELECT

product_name,

description,

list_price,

category_id

FROM

products

WHERE

product_name = 'Kingston';

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

d4230a411778432d02a1b155e08f9c3b.png

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

首先,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_price

FROM

products

WHERE

list_price > 500;

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

598d167f808fdad1c9edf90064e46e28.png

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

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

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

SELECT

product_name,

list_price

FROM

products

WHERE

list_price > 500

AND category_id = 4;

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

0990720c7a53e0d111f2f946188926d5.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;

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

96a8128098dec7f4a20352d9d800cebd.png

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

SELECT

product_name,

list_price

FROM

products

WHERE

list_price >= 650 AND list_price <= 680

ORDER BY

list_price;

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

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

SELECT

product_name,

category_id

FROM

products

WHERE

category_id IN(1, 4)

ORDER BY

product_name;

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

9be081ba663f7d09b93c8bd9864ebe92.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;

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

abb36dd6cc46dc27e18ce8f0ebdee0b7.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值