НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

SQL Підручник

SQL СТАРТ SQL Інтро SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() and MAX() SQL COUNT() SQL SUM() SQL AVG() SQL LIKE SQL Підстановочні символи SQL IN SQL BETWEEN SQL Псевдоніми SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self 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 Create DB SQL Drop DB SQL Backup 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 Типи даних

SQL Довідники

SQL Ключові слова MySQL Функції SQL Серверні функції MS Access Функції SQL Швидкий довідник

SQL Приклади

SQL Приклади SQL Редактор SQL Вікторина SQL Вправи SQL Bootcamp SQL Сертифікат

SQL. W3Schools українською. Уроки для початківців

En

SQL ANY та ALL Оператори


SQL ANY та ALL Оператори

Оператори ANY та ALL дозволяють виконувати порівняння між значеннями одного стовпця та діапазоном інших значень.


SQL ANY Оператор

ANY оператор:

  • повертає булеве (логічне) значення як результат
  • повертає TRUE, якщо ANY (будь-яке) зі значень підзапиту відповідає умові

ANY означає, що умова буде true (істинною), якщо операція буде true (істинною) для any (будь-якого) зі значень у діапазоні.

ANY Синтаксис

SELECT column_name(s)
FROM table_name
WHEREcolumn_name operator ANY
  (SELECT column_name
 
FROM table_name
 
WHEREcondition);

Примітка: Оператор має бути стандартним оператором порівняння (=, <>, !=, >, >=, <, або <=).


SQL ALL Оператор

ALL оператор:

  • повертає булеве (логічне) значення як результат
  • повертає TRUE якщо ALL (усі) значення підзапиту відповідають умові
  • використовується з SELECT, WHERE та HAVING інструкціями

ALL означає, що умова буде true (істинною), лише якщо операція буде true (істинною) для всіх значень у діапазоні.

ALL Синтаксис із SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

ALL Синтаксис із WHERE або HAVING

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

Примітка: Оператор має бути стандартним оператором порівняння (=, <>, !=, >, >=, <, або <=).


Демонстраційна база даних

Нижче наведено вибірку з таблиці "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
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

І вибір із таблиці "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
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15

SQL ANY Приклади

Наступна SQL інструкція перераховує ProductName, якщо вона знаходить ANY (БУДЬ-ЯКІ) записи в таблиці OrderDetails, кількість яких дорівнює 10 (це поверне TRUE, оскільки стовпець Quantity має деякі значення 10):

Приклад

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

Наступна SQL інструкція перераховує ProductName, якщо вона знаходить ANY (БУДЬ-ЯКИЙ) запис у таблиці OrderDetails із кількістю, більшою за 99 (це поверне TRUE, оскільки стовпець Quantity містить деякі значення, більші за 99):

Приклад

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);
Спробуйте самі »

Наступна SQL інструкція містить список ProductName, якщо вона знаходить ANY (БУДЬ-ЯКИЙ) запис у таблиці OrderDetails із кількістю, більшою за 1000 (це поверне значення FALSE, оскільки стовпець Quantity не містить значень, більших за 1000):

Приклад

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);
Спробуйте самі »

SQL ALL Приклади

Наступна SQL інструкція перераховує ALL (ВСІ) назви продуктів:

Приклад

SELECT ALL ProductName
FROM Products
WHERE TRUE;
Спробуйте самі »

Наступна SQL інструкція містить список ProductName, якщо ALL (ВСІ) записи в таблиці OrderDetails мають Quantity, що дорівнює 10. Це, звичайно, поверне значення FALSE, оскільки стовпець Quantity має багато різних значень (не лише значення 10):

Приклад

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