在本教學中,將學習如何使用SQL Server AND運算符組合多個布爾運算式。
AND是一個邏輯運算符,用於組合兩個布爾運算式。僅當兩個運算式求值為TRUE時,它才返回TRUE。
以下說明了AND運算符的語法:
boolean_expression AND boolean_expression
boolean_expression是任何有效的布爾運算式,其計算結果為TRUE,FALSE和UNKNOWN。
下表顯示使用AND運算符組合:TRUE,FALSE和UNKNOWN值時的結果:
| TRUE | FALSE | UNKNOWN | |
|---|---|---|---|
| TRUE | TRUE | FALSE | UNKNOWN |
| FALSE | FALSE | FALSE | FALSE |
| UNKNOWN | UNKNOWN | FALSE | UNKNOWN |
在運算式中使用多個邏輯運算符時,SQL Server始終首先計算AND運算符。 但是,可以使用括弧更改評估順序。
SQL Server AND運算符示例
我們將使用示例資料庫中的products表進行演示,表的結構如下:

A. 使用AND運算符示例
以下示例查找類別標識號(category_id)為1且價格大於400的產品:
SELECT
*
FROM
production.products
WHERE
category_id = 1
AND list_price > 400
ORDER BY
list_price DESC;
執行上面查詢語句,得到以下結果:

B. 使用多個AND運算符示例
以下語句查找滿足以下所有條件的產品:類別編號(category_id)為1,價格大於400,品牌編號(brand_id)為1:
SELECT
*
FROM
production.products
WHERE
category_id = 1
AND list_price > 400
AND brand_id = 1
ORDER BY
list_price DESC;
執行上面查詢語句,得到以下結果:
C. 使用AND與其他邏輯運算符
請參閱以下查詢示例:
SELECT
*
FROM
production.products
WHERE
brand_id = 1
OR brand_id = 2
AND list_price > 1000
ORDER BY
brand_id DESC;
執行上面查詢語句,得到以下結果:

在這個例子中,在條件中使用了OR和AND運算符。與往常一樣,SQL Server首先評估AND運算符。因此,查詢檢索到品牌編號為2且價格大於1000的產品或品牌編號為1的產品。
要獲得品牌編號為1或2且價格大於1000的產品,請使用括弧,如下所示:
SELECT
*
FROM
production.products
WHERE
(brand_id = 1 OR brand_id = 2)
AND list_price > 1000
ORDER BY
brand_id;
執行上面查詢語句,得到以下結果:

在本教學中,學習了如何使用SQL Server AND運算符組合兩個布爾運算式。
上一篇:
SQL Server數據查詢
下一篇:
SQL Server連接表
