Oracle数据库之Oracle Or子句
小标 2018-08-21 来源 : 阅读 6401 评论 0

摘要:本文主要向大家介绍了Oracle数据库之Oracle Or子句,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

本文主要向大家介绍了Oracle数据库之Oracle Or子句,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

在本教程中,我们来学习如何使用Oracle OR运算符来组合两个或更多的布尔表达式。
Oracle OR运算符介绍
OR运算符是一个逻辑运算符,它组合了布尔表达式,如果其中一个表达式为真(true),则返回true。
以下说明OR运算符的语法:
expression_1 AND expression_2
下表显示了OR运算符在true,false和NULL值之间的结果。
值TRUEFALSENULL
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
NULL
NULL
TRUE
NULL
NULL
我们经常在SELECT,DELETE和UPDATE语句的WHERE子句中使用OR运算符来形成过滤数据的条件。
如果在语句中使用多个逻辑运算符,则Oracle会在评估NOT和AND运算符之后评估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,61或62的订单:
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运算符与其他逻辑运算符(如AND和NOT)结合起来,形成一个条件。 例如,以下查询将返回属于客户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运算符来组合两个或更多的布尔表达式。

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程