黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Oracle Or子句

oracle or子句

or是oracle中的邏輯運(yùn)算符,本教程,將來(lái)學(xué)習(xí)如何使用or運(yùn)算符來(lái)組合兩個(gè)或更多的布爾表達(dá)式。

 

oracle or運(yùn)算符語(yǔ)法

or運(yùn)算符組合了布爾表達(dá)式,如果其中一個(gè)表達(dá)式為真(true),則返回true。

以下是or運(yùn)算符的語(yǔ)法:

expression_1 and expression_2 

下表顯示了or運(yùn)算符在true,false和null值之間的結(jié)果。

true false null
true true true true
false true false null
null true null null

我們經(jīng)常在select,delete和update語(yǔ)句的where子句中使用or運(yùn)算符來(lái)形成過(guò)濾數(shù)據(jù)的條件。

如果在語(yǔ)句中使用多個(gè)邏輯運(yùn)算符,則oracle會(huì)在評(píng)估not和and運(yùn)算符之后評(píng)估or運(yùn)算符。 但是,可以使用括號(hào)更改評(píng)估的順序。

 

oracle or運(yùn)算符使用實(shí)例

我們將使用以下的orders表進(jìn)行演示:

1. oracle or運(yùn)算符組合兩個(gè)布爾表達(dá)式的例子

以下示例查找狀態(tài)為掛起(pending)或取消(canceled)的訂單,參考以下查詢語(yǔ)句:

select
    order_id,
    customer_id,
    status,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    status = 'pending'
    or status = 'canceled'
order by
    order_date desc;

在這個(gè)例子中,語(yǔ)句返回了滿足下列表達(dá)式之一的所有訂單:

status = 'pending'
-- 或
status = 'canceled' 

執(zhí)行上面的代碼可以得到以下結(jié)果:

2. oracle or運(yùn)算符結(jié)合兩個(gè)以上的布爾表達(dá)式的例子

我們經(jīng)常使用or運(yùn)算符來(lái)組合兩個(gè)以上的布爾表達(dá)式。 例如,以下語(yǔ)句檢索負(fù)責(zé)以下銷售員id是60,61或62的訂單:

select
    order_id,
    customer_id,
    status,
    salesman_id,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    salesman_id = 60
    or salesman_id = 61
    or salesman_id = 62
order by
    order_date desc;

執(zhí)行上面的代碼可以得到以下結(jié)果:

可以使用in運(yùn)算符來(lái)代替使用多個(gè)or運(yùn)算符,如下例所示:

select
    order_id,
    customer_id,
    status,
    salesman_id,
    to_char(order_date, 'yyyy-mm-dd') as order_date
from
    orders
where
    salesman_id in(60, 61, 62)
order by
    order_date desc;

該查詢返回的結(jié)果與使用上面的or運(yùn)算符返回的結(jié)果相同。

3. oracle or運(yùn)算符與and運(yùn)算符結(jié)合使用的示例

可以將or運(yùn)算符與其他邏輯運(yùn)算符(如and和not)結(jié)合起來(lái),形成一個(gè)條件。 例如,以下查詢將返回屬于客戶id為44并且已取消(canceled)或掛起(pending)狀態(tài)的訂單。參考以下查詢語(yǔ)句:

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;

執(zhí)行上面的代碼可以得到以下結(jié)果:

下一節(jié):oracle fetch子句

oracle教程

相關(guān)文章