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集合操作符