oracle and,Oracle And子句

Oracle AND是一个逻辑运算符,可以用来组合两个或更多的布尔表达式。

Oracle AND运算符语法

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

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

expression_1 AND expression_2

下表说明了使用AND运算符合并true,false和NULL值时的结果:

值TRUEFALSENULLTRUETRUEFALSENULL

FALSEFALSEFALSEFALSE

NULLNULLFALSENULL

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

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

Oracle AND算符实例

以以下数据库中的订单(orders)表为例:

4e6f6a91707f2e4e0c88161db48ab252.png

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;

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

status = 'Pending'

customer_id = 2

执行上面的代码可以得到以下结果:

9c035afeb34acaf1983098947abe7f89.png

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;

执行上面的代码可以得到以下结果:

2e719b6c1609b4309ab953a06745a4f7.png

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

可以将AND运算符与其他逻辑运算符(如OR和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;

执行上面的代码可以得到以下结果:

73f044d39ada7dbee95a44f937625a6d.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值