SQL-сервер ANY

В этом руководстве вы узнаете, как использовать оператор ANY SQL Server для сравнения значения с набором значений из одного столбца, возвращаемым подзапросом.

Введение в SQL Server ANY оператор

Оператор ANY — это логический оператор, который сравнивает скалярное значение с набором значений из одного столбца, возвращаемым подзапросом.

Ниже показан синтаксис оператора ANY:

scalar_expression comparison_operator ANY(subquery)

В этом синтаксисе:

  • scalar_expression — любое допустимое выражение.
  • оператор_сравнения — любой оператор сравнения.
  • подзапрос — это оператор SELECT, который возвращает результирующий набор из одного столбца с данными, совпадающими с типом данных скалярного выражения.

Предположим, что подзапрос возвращает список значений v1, v2, …, vn. Оператор ANY возвращает TRUE, если любое сравнение(scalar_expression, vi) возвращает TRUE. В противном случае он возвращает FALSE.

Обратите внимание, что оператор SOME эквивалентен оператору ANY.

Пример оператора SQL Server ANY

См. следующую таблицу продуктов из образца базы данных.

продукты

В следующем примере выполняется поиск продуктов, которые были проданы более чем двумя единицами в заказе на продажу:

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 для сравнения значения с набором значений из одного столбца.

Мирослав С.

Автор статей, ИБ-специалист