САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ

SQL Учебник

SQL Главная SQL Введение SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL AND, OR, NOT SQL ORDER BY SQL INSERT INTO SQL Значение Null SQL Инструкция UPDATE SQL Инструкция DELETE SQL SELECT TOP SQL MIN() и MAX() SQL COUNT(), AVG() и ... SQL Оператор LIKE SQL Подстановочный SQL Оператор IN SQL Оператор BETWEEN SQL Псевдонимы SQL JOIN SQL JOIN Внутри SQL JOIN Слева SQL JOIN Справа SQL JOIN Полное SQL JOIN Сам SQL Оператор UNION SQL GROUP BY SQL HAVING SQL Оператор Exists SQL Операторы Any, All SQL SELECT INTO SQL INSERT INTO SELECT SQL Инструкция CASE SQL Функции NULL SQL Хранимая SQL Комментарии

SQL База данных

SQL Создать БД SQL Откинуть БД SQL Резервная БД SQL Создать таблицу SQL Откинуть таблицу SQL Изменить таблицу SQL Ограничения SQL Не ноль SQL Уникальный SQL Первичный ключ SQL Внешний ключ SQL Проверить SQL По умолчанию SQL Индекс SQL Авто приращение SQL Даты SQL Представление SQL Инъекция SQL Хостинг

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Операторы SQL Типы данных SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Викторина SQL Упражнения SQL Сертификат

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
column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);

Примечание: Оператор должен быть стандартным оператором сравнения (=, <>, !=, >, >=, <, 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 имеют значение quantity = 10 ( таким образом, этот пример возвращает FALSE, поскольку не все записи в таблице OrderDetails имеют значение quantity = 10):

Пример

SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
Попробуйте сами »