Операторите ANY и ALL се използват с клауза WHERE или HAVING.
Операторът ANY връща true, ако някоя от стойностите на подзаявката отговаря на условието.
Операторът ALL връща true, ако всички стойности на подзаявката отговаря на условието.
Синтаксис на ANY
ALL Синтаксис
Забележка: Операторът трябва да бъде стандартен оператор за сравнение (=, <>,! =,>,> =, <, Или <=).
Демо база данни
По-долу има селекция от таблицата „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 и изброява наименованията на продукти, ако открие ANY (кои да е) записи в таблицата OrderDetails, където quantity = 10:
Следващото SQL изявление връща TRUE и изброява имената на продукти, ако открие кои да е записи – ANY – в таблицата OrderDetails със стойности за Quantity > 99 (Quantity – количество):
Пример за SQL ALL
Операторът ALL връща TRUE, ако всички стойности на подзаявката отговарят на условието. Следващият SQL израз връща TRUE и изброява имената на продуктите, ако всички записи в таблицата OrderDetails имат Quantity = 10 (Quantity – количество):