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é)果:
- Oracle 11g安裝教程
- Oracle Like子句
- Oracle COMMIT語(yǔ)句(提交事務(wù))
- Oracle ROLLBACK語(yǔ)句(回滾事務(wù))
- Oracle 外鍵創(chuàng)建
- Oracle 級(jí)聯(lián)刪除外鍵
- Oracle 啟用外鍵
- Oracle Initcap()函數(shù)
- Memcached set 命令
- DB2緩沖池
- DB2序列
- DB2數(shù)據(jù)庫(kù)安全
- PLSQL一些常用知識(shí)點(diǎn)梳理總結(jié)
- Oracle中的table()函數(shù)使用
- Oracle行級(jí)觸發(fā)器的使用操作
- 關(guān)于ORA-04091異常的出現(xiàn)原因分析及解決方案
- Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯(cuò)誤問(wèn)題分析
- 關(guān)于oracle邏輯備份exp導(dǎo)出指定表名時(shí)需要加括號(hào)的問(wèn)題解析
- Oracle中ROW_NUMBER()OVER()函數(shù)用法實(shí)例講解
- Oracle常見(jiàn)分析函數(shù)實(shí)例詳解