在本教學中,將學習如何使用SQL Server OR
運算符組合兩個布爾運算式。
SQL Server OR
是一個邏輯運算符,用於組合兩個布爾運算式。當任一條件的計算結果為TRUE
時,它返回TRUE
。
以下顯示了OR
運算符的語法:
boolean_expression OR boolean_expression
在此語法中,boolean_expression
是任何有效的布爾運算式,其計算結果為:true
,false
和unknown
。
下表顯示了組合:TRUE
,FALSE
和UNKNOWN
時OR
運算符的結果:
TRUE | FALSE | UNKNOWN | |
---|---|---|---|
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | UNKNOWN |
UNKNOWN | TRUE | UNKNOWN | UNKNOWN |
在語句中使用多個邏輯運算符時,SQL Server將在AND
運算符之後計算OR
運算符。 但是,可以使用括弧更改評估順序。
SQL Server OR運算符示例
我們將使用示例資料庫中的products
表進行演示,表的結構如下:
A. 使用OR運算符示例
以下示例查找價格小於200
或大於6000
的產品:
SELECT
product_name,
list_price
FROM
production.products
WHERE
list_price < 200
OR list_price > 6000
ORDER BY
list_price;
執行上面查詢語句,得到以下結果 -
B. 使用多個OR運算符示例
以下語句查找品牌編號(brand_id
)為1
,2
或4
的產品:
SELECT
product_name,
brand_id
FROM
production.products
WHERE
brand_id = 1
OR brand_id = 2
OR brand_id = 4
ORDER BY
brand_id DESC;
執行上面查詢語句,得到以下結果 -
可以通過IN運算符替換多個OR
運算符,如以下查詢所示:
SELECT
product_name,
brand_id
FROM
production.products
WHERE
brand_id IN (1, 2, 3)
ORDER BY
brand_id DESC;
C. 使用OR和AND運算符示例
請考慮以下示例:
SELECT
product_name,
brand_id,
list_price
FROM
production.products
WHERE
brand_id = 3
OR brand_id = 4
AND list_price > 100
ORDER BY
brand_id DESC;
執行上面查詢語句,得到以下結果 -
在這個例子中,使用了OR
和AND
運算符。 與往常一樣,SQL Server首先評估AND
運算符。 因此,查詢返回品牌編號(brand_id
)為4
且價格大於100
的產品或品牌編號(brand_id
)為3
的產品。
要查找品牌編號(brand_id
)為3
或4
且價格大於100
的產品,請使用括弧,如以下查詢所示:
SELECT
product_name,
brand_id,
list_price
FROM
production.products
WHERE
(brand_id = 3 OR brand_id = 4)
AND list_price > 100
ORDER BY
brand_id;
執行上面查詢語句,得到以下結果 -
上一篇:
SQL Server數據查詢
下一篇:
SQL Server連接表