Oracle Or子句
oracle or子句
or是oracle中的邏輯運算符,本教程,將來學習如何使用or運算符來組合兩個或更多的布爾表達式。
oracle or運算符語法
or運算符組合了布爾表達式,如果其中一個表達式為真(true),則返回true。
以下是or運算符的語法:
expression_1 and expression_2
下表顯示了or運算符在true,false和null值之間的結(jié)果。
值 | true | false | null |
---|---|---|---|
true | true | true | true |
false | true | false | null |
null | true | null | null |
我們經(jīng)常在select,delete和update語句的where子句中使用or運算符來形成過濾數(shù)據(jù)的條件。
如果在語句中使用多個邏輯運算符,則oracle會在評估not和and運算符之后評估or運算符。 但是,可以使用括號更改評估的順序。
oracle or運算符使用實例
我們將使用以下的orders表進行演示:
1. oracle or運算符組合兩個布爾表達式的例子
以下示例查找狀態(tài)為掛起(pending)或取消(canceled)的訂單,參考以下查詢語句:
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;
在這個例子中,語句返回了滿足下列表達式之一的所有訂單:
status = 'pending'
-- 或
status = 'canceled'
執(zhí)行上面的代碼可以得到以下結(jié)果:
2. oracle or運算符結(jié)合兩個以上的布爾表達式的例子
我們經(jīng)常使用or運算符來組合兩個以上的布爾表達式。 例如,以下語句檢索負責以下銷售員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運算符來代替使用多個or運算符,如下例所示:
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運算符返回的結(jié)果相同。
3. oracle or運算符與and運算符結(jié)合使用的示例
可以將or運算符與其他邏輯運算符(如and和not)結(jié)合起來,形成一個條件。 例如,以下查詢將返回屬于客戶id為44并且已取消(canceled)或掛起(pending)狀態(tài)的訂單。參考以下查詢語句:
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é)果:
相關(guān)文章
- Oracle 11g安裝教程
- Oracle Like子句
- Oracle COMMIT語句(提交事務)
- Oracle ROLLBACK語句(回滾事務)
- Oracle 外鍵創(chuàng)建
- Oracle 級聯(lián)刪除外鍵
- Oracle 啟用外鍵
- Oracle Initcap()函數(shù)
- Memcached set 命令
- DB2緩沖池
- DB2序列
- DB2數(shù)據(jù)庫安全
- PLSQL一些常用知識點梳理總結(jié)
- Oracle中的table()函數(shù)使用
- Oracle行級觸發(fā)器的使用操作
- 關(guān)于ORA-04091異常的出現(xiàn)原因分析及解決方案
- Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤問題分析
- 關(guān)于oracle邏輯備份exp導出指定表名時需要加括號的問題解析
- Oracle中ROW_NUMBER()OVER()函數(shù)用法實例講解
- Oracle常見分析函數(shù)實例詳解