Oracle 专题
专题目录
您的位置:database > Oracle专题 > Oracle Or子句
Oracle Or子句
作者:--    发布时间:2019-11-20

在本教程中,我们来学习如何使用oracle or运算符来组合两个或更多的布尔表达式。

oracle or运算符介绍

or运算符是一个逻辑运算符,它组合了布尔表达式,如果其中一个表达式为真(true),则返回true

以下说明or运算符的语法:

expression_1 and expression_2

下表显示了or运算符在truefalsenull值之间的结果。

true false null
true true true true
false true false null
null true null null

我们经常在selectdeleteupdate语句的where子句中使用or运算符来形成过滤数据的条件。

如果在语句中使用多个逻辑运算符,则oracle会在评估notand运算符之后评估or运算符。 但是,可以使用括号更改评估的顺序。

oracle or运算符的例子

我们将使用示例数据库中的orders表进行演示。表结构如下图所示 -

订单表结构

1. oracle or运算符组合两个布尔表达式的例子

以下示例查找状态为挂起(pending)或取消(canceled)的订单,参考以下查询语句 -

select
    order_id,
    customer_id,
    status,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    status = 'pending'
    or status = 'canceled'
order by
    order_date desc;

在这个例子中,语句返回了满足下列表达式之一的所有订单:

status = 'pending' 
-- 或
status = 'canceled'

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

2. oracle or运算符结合两个以上的布尔表达式的例子

我们经常使用or运算符来组合两个以上的布尔表达式。 例如,以下语句检索负责以下销售员id是60,6162的订单:

select
    order_id, 
    customer_id, 
    status, 
    salesman_id,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    salesman_id = 60 
    or salesman_id = 61 
    or salesman_id = 62
order by
    order_date desc;

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

可以使用in运算符来代替使用多个or运算符,如下例所示:

select
    order_id,
    customer_id,
    status,
    salesman_id,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    salesman_id in(60, 61, 62)
order by
    order_date desc;

该查询返回的结果与使用上面的or运算符返回的结果相同。

3. oracle or运算符与and运算符结合使用的示例

可以将or运算符与其他逻辑运算符(如andnot)结合起来,形成一个条件。 例如,以下查询将返回属于客户id为44并且已取消(canceled)或挂起(pending)状态的订单。参考以下查询语句 -

select
    order_id,
    customer_id,
    status,
    salesman_id,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    ( status = 'canceled' or status = 'pending')
    and customer_id = 44
order by
    order_date;

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

在本教程中,您已学习如何使用oracle or运算符来组合两个或更多的布尔表达式。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册