SQL Server And操作符

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

AND是一個邏輯運算符,用於組合兩個布爾運算式。僅當兩個運算式求值為TRUE時,它才返回TRUE

以下說明了AND運算符的語法:

boolean_expression AND boolean_expression

boolean_expression是任何有效的布爾運算式,其計算結果為TRUEFALSEUNKNOWN

下表顯示使用AND運算符組合:TRUEFALSEUNKNOWN值時的結果:

  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;

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

在這個例子中,在條件中使用了ORAND運算符。與往常一樣,SQL Server首先評估AND運算符。因此,查詢檢索到品牌編號為2且價格大於1000的產品或品牌編號為1的產品。

要獲得品牌編號為12且價格大於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連接表