zoukankan      html  css  js  c++  java
  • Oracle And子句

    Oracle And子句

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

    Oracle AND运算符介绍

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

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

    expression_1 AND expression_2
    
    SQL

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

    TRUEFALSENULL
    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运算符来组合两个或更多的布尔表达式。

  • 相关阅读:
    Linux常用命令集合
    运用栈实现表达式求值(+,-,*,/运算)
    队列
    变参函数
    C语言--递归程序的设计
    指针的灵活应用--内核链表中的container_of
    C语言-求回文数字
    压力测试和负载测试
    测试理论
    Dubbo接口调用
  • 原文地址:https://www.cnblogs.com/youqc/p/9358975.html
Copyright © 2011-2022 走看看