В этом руководстве вы узнаете, как использовать оператор 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 для сравнения значения с набором значений из одного столбца.