SQL Server Or運算符

在本教學中,將學習如何使用SQL Server OR運算符組合兩個布爾運算式。

SQL Server OR是一個邏輯運算符,用於組合兩個布爾運算式。當任一條件的計算結果為TRUE時,它返回TRUE

以下顯示了OR運算符的語法:

boolean_expression OR boolean_expression

在此語法中,boolean_expression是任何有效的布爾運算式,其計算結果為:truefalseunknown

下表顯示了組合:TRUEFALSEUNKNOWNOR運算符的結果:

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,24的產品:

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;

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

在這個例子中,使用了ORAND運算符。 與往常一樣,SQL Server首先評估AND運算符。 因此,查詢返回品牌編號(brand_id)為4且價格大於100的產品或品牌編號(brand_id)為3的產品。

要查找品牌編號(brand_id)為34且價格大於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連接表