Oracle And子句

oracle and子句

oracle and是一个逻辑运算符,可以用来组合两个或更多的布尔表达式。本文就将为大家带来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运算符。 但是,可以使用括号来更改评估的顺序。

 

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;

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

status = 'pending' 

customer_id = 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. 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; 

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

下一节:oracle where子句

oracle教程

相关文章