ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

SQL учебник

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min and Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Null Functions SQL Stored Procedures SQL Comments

SQL Database

SQL Create DB SQL Drop DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting

SQL References

MySQL Functions SQL Server Functions MS Access Functions Oracle Functions SQL Operators SQL Data Types SQL Quick Ref


SQL ANY И ALL Операторы


SQL Any и ALL операторы

Операторы Any и ALL используются с предложением WHERE или HAVING.

Оператор Any возвращает значение true, если любое из значений подчиненного запроса удовлетворяет условию.

Оператор ALL возвращает значение true, если все значения подчиненного запроса удовлетворяют условию.

ANY Синтаксис

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);

ALL Синтаксис

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);

Note: The operator must be a standard comparison operator (=, <>, !=, >, >=, <, or <=).


Демонстрационная база данных

Ниже приведен выбор из таблицы "Products" в образце базы данных Northwind:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35

И выбор из таблицы "OrderDetails":

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


SQL Any примеры

Оператор Any возвращает значение true, если любое из значений подчиненного запроса удовлетворяет условию.

Следующая инструкция SQL возвращает значение true и перечисляет данные о марках при обнаружении в таблице OrderDetails записей о количестве = 10:

Пример

SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);

Следующая инструкция SQL возвращает true и перечисляет "марка", если она находит в таблице OrderDetails какие-либо записи, количество которых > 99:

Пример

SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity > 99);

SQL ALL примеры

Оператор ALL возвращает значение true, если все значения подчиненного запроса удовлетворяют условию.

Следующая инструкция SQL возвращает значение true и перечисляет "марка", если все записи в таблице OrderDetails имеют количество = 10:

Пример

SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);