在本教程中将学习如何使用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
)表:
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
执行上面查询语句,得到以下结果:
可以使用多个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;
执行上面查询语句,得到以下结果 -
可以将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 and
运算符来组合两个或更多的布尔表达式。