在oracle中,and是一個邏輯運算符,是“與”的意思,用于篩選指定的條件,只有當and前后的條件都滿足時,返回的結果為true,如果其中一個條件表達式為假,則and運算符返回false。
本教程操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
oracle中and的用法是什么
AND運算符是一個邏輯運算符,它組合了布爾表達式,如果兩個表達式都為真,則返回true。 如果其中一個表達式為假,則AND運算符返回false。
AND運算符的語法如下所示:
expression_1?AND?expression_2
下表說明了使用AND運算符合并true,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;
執行上面的代碼可以得到以下結果:
推薦教程:《Oracle教程》