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

    Oracle AND是一个逻辑运算符,可以用来组合两个或更多的布尔表达式。本文就将为大家带来Oracle AND的使用方法。

    Oracle AND运算符语法

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

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

    expression_1 AND expression_2

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

    TRUEFALSENULL
    TRUE TRUE FALSE NULL
    FALSE FALSE FALSE FALSE
    NULL NULL FALSE NULL

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

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

    Oracle AND算符实例

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

    1

    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

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

    2

    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;

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

    3

    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;

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

    4

  • 相关阅读:
    .net MVC 下载文件乱码问题解决方案
    javascript将json转字符串
    js中将字符串转换成json的三种方式
    mvc项目,导出到Excel,中文显示乱码
    20160606面试题总结
    bzoj 4318: OSU!
    bzoj 1419: Red is good
    Codeforces 123 E Maze
    HDU 4336 Card Collector
    Codeforces 540 D Bad Luck Island
  • 原文地址:https://www.cnblogs.com/zxl971213/p/13069202.html
Copyright © 2011-2022 走看看