Oracle And子句

作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146

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

Oracle AND运算符介绍

AND运算符是一个逻辑运算符,它组合了布尔表达式,如果两个表达式都为真,则返回true。 如果其中一个表达式为假,则AND运算符返回false

AND运算符的语法如下所示:

expression_1 AND expression_2
SQL

下表说明了使用AND运算符合并truefalseNULL值时的结果 -

TRUE FALSE NULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL

通常,在SELECTDELETEUPDATE语句的WHERE子句中使用AND来形成匹配数据的条件。 另外,在JOIN子句的谓词中使用AND运算符来形成连接条件。

在声明中使用多个逻辑运算符时,Oracle始终首先评估AND运算符。 但是,可以使用括号来更改评估的顺序。

Oracle AND算符的例子

请参阅示例数据库中的以下订单(orders)表:

1. Oracle AND结合两个布尔表达式的例子

以下示例查找具有客户编号为2的那些状态为挂起(Pending)的订单:

SELECT order_id, customer_id, status, TO_CHAR(order_date,'YYYY-MM-DD') AS order_date
FROM orders
WHERE status = 'Pending' AND customer_id = 2
ORDER BY order_date;
SQL

在这个例子中,查询返回了满足两个表达式的所有订单信息,即:

status = 'Pending'
SQL

customer_id = 2
SQL

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

2. Oracle AND结合两个以上的布尔表达式的例子

可以使用多个AND运算符来组合布尔表达式。

例如,以下语句检索满足以下所有条件的订单:

  • 2017年放置。
  • 负责售货员编号为60
  • 有发货状态。

参考以下查询语句 -

SELECT
order_id,
customer_id,
status,
TO_CHAR(order_date, 'YYYY-MM-DD') AS order_date
FROM
orders
WHERE
status = 'Shipped'
AND salesman_id = 60
AND EXTRACT(YEAR FROM order_date) = 2017
ORDER BY
order_date;
SQL

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

3. Oracle AND与OR运算符结合示例

可以将AND运算符与其他逻辑运算符(如ORNOT)组合,以形成一个条件。

例如,以下查询查找客户ID44的订单,并且状态已取消(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;
SQL

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

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

最新文章

  1. android 模拟2048
  2. 几个SQL小知识
  3. Linux查找
  4. How to acquire an Android phone with locked bootloader?
  5. Java设计模式-状态模式(State)
  6. Java面试必备知识
  7. BI
  8. 代码动态创建checkbox
  9. hibernate某些版本(4.3)下报错 NoSuchMethodError: javax.persistence.Table.indexes()
  10. HDU 3831 DICS
  11. RabbitMQ高可用配置(Haproxy + Keepalived)
  12. dotnet 命令实战
  13. BotVS开发基础—2.11 API绘制图表
  14. sublime text3 3143 注册码
  15. BZOJ.5467.[PKUWC2018]Slay the Spire(DP)
  16. MySQL入门,了解下、
  17. jpa-规范
  18. SNF软件开发机器人-子系统-功能-启用大按钮样式如何配置
  19. Jumpserver跳板机的搭建和部署
  20. nginx启用TCP反向代理日志配置

热门文章

  1. 《深入浅出WPF》学习总结之控件与布局
  2. mysqlreport 安装&使用
  3. [Git] 015 远程仓库篇 第二话
  4. 【官网】2019.5.19 CentOS8.0 最新进展
  5. P2010回文日期
  6. (Windows)Python第三方库手动安装教程(以lxml库为例)
  7. PyCharm控制台python shell 和 IPython shell的切换
  8. Scrapy 教程(十)-管道与数据库
  9. GitHub入门使用
  10. OC+swift混编