SQL Server Any運算符

在本教學中,將學習如何使用SQL Server ANY運算符將值與子查詢返回的單列值集進行比較。

SQL Server ANY運算符簡介

ANY運算符是一個邏輯運算符,它將標量值與子查詢返回的單列值集進行比較。

以下是ANY運算符的語法:

scalar_expression comparison_operator ANY (subquery)

在上面語法中,

  • scalar_expression - 是任何有效的運算式。
  • comparison_operator - 是任何比較運算符。
  • subquery是一個SELECT語句,它返回單個列的結果集,其數據與標量運算式的數據類型相同。

假設子查詢返回值列表v1,v2,...,vn。 如果ANY比較(scalar_expression,vi)返回TRUE,則ANY運算符返回TRUE。 否則它返回FALSE

請注意,SOME運算符等效於ANY運算符。

SQL Server ANY運算符示例

請參閱示例資料庫中的以下products表,結構如下所示:

以下示例查找銷售訂單中銷售數量超過2個的產品:

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    product_id = ANY (
        SELECT
            product_id
        FROM
            sales.order_items
        WHERE
            quantity >= 2
    )
ORDER BY
    product_name;

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

ANY運算符示例


上一篇: SQL Server子查詢語句 下一篇: SQL Server集合操作符