标签:extra table 已取消 code 技术 image http where expr
Oracle AND是一个逻辑运算符,可以用来组合两个或更多的布尔表达式。本文就将为大家带来Oracle AND的使用方法。
AND运算符是一个逻辑运算符,它组合了布尔表达式,如果两个表达式都为真,则返回true。 如果其中一个表达式为假,则AND运算符返回false。
AND运算符的语法如下所示:
expression_1 AND expression_2下表说明了使用AND运算符合并true,false和NULL值时的结果:
| 值 | TRUE | FALSE | NULL | 
|---|---|---|---|
| TRUE | TRUE | FALSE | NULL | 
| FALSE | FALSE | FALSE | FALSE | 
| NULL | NULL | FALSE | NULL | 
通常,在SELECT,DELETE和UPDATE语句的WHERE子句中使用AND来形成匹配数据的条件。 另外,在JOIN子句的谓词中使用AND运算符来形成连接条件。
在声明中使用多个逻辑运算符时,Oracle始终首先评估AND运算符。 但是,可以使用括号来更改评估的顺序。
以以下数据库中的订单(orders)表为例:

以下示例查找具有客户编号为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执行上面的代码可以得到以下结果:

可以使用多个AND运算符来组合布尔表达式。
例如,以下语句检索满足以下所有条件的订单:
参考以下查询语句:
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;执行上面的代码可以得到以下结果:

可以将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;执行上面的代码可以得到以下结果:

标签:extra table 已取消 code 技术 image http where expr
原文地址:https://www.cnblogs.com/zxl971213/p/13069202.html