Oracle And子句


Oracle And子句

在本教程中,將學習如何使用Oracle AND運算符來組合兩個或更多的布爾表達式。

Oracle AND運算符介紹

AND運算符是一個邏輯運算符,它組合了布爾表達式,如果兩個表達式都為真,則返回true。 如果其中一個表達式為假,則AND運算符返回false

AND運算符的語法如下所示:

expression_1 AND expression_2 
SQL

下表說明了使用AND運算符合並truefalseNULL值時的結果 -

TRUE FALSE NULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL

通常,在SELECTDELETEUPDATE語句的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; 
SQL

在這個例子中,查詢返回了滿足兩個表達式的所有訂單信息,即:

status = 'Pending' 
SQL

customer_id = 2 
SQL

執行上面查詢語句,得到以下結果:

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; 
SQL

執行上面查詢語句,得到以下結果 -

3. Oracle AND與OR運算符結合示例

可以將AND運算符與其他邏輯運算符(如ORNOT)組合,以形成一個條件。

例如,以下查詢查找客戶ID44的訂單,並且狀態已取消(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; 
SQL

執行上面查詢語句,得到以下結果 -

在本教程中,我們已學習如何使用Oracle AND運算符來組合兩個或更多的布爾表達式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM