在本教學中,將學習如何使用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連接表