SQL стейтмент ALL

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

SQL стейтмент ALL (все) берёт все знач., выведенные подзапросом, который передаётся ему в качестве аргумента, и оценивает их как верные, если каждое из них соотв. текущей строке внешнего запроса. Это означает, что подзапрос должен выбирать знач. такого же типа, как и те, которые сравниваются в основном условии.

Принцип работы

SQL стейтмент ALL считает условие верным, если каждое знач., выбранное подзапросом, удовлетворяет условию внешн. запроса.

Допустимые условия

С оператором ALL допускается использ. все доступные в SQL условия сравнения, а не только условие равенства.

Сравнение с ANY

Похожим по действию явл. оператор ANY, который так же сравнивает все результаты подзапроса с внешним запросом, но при этом любая, как мин. 1, строка подзапроса должна удовлетворять условию внешнего запроса, в то время как для ALL необходимо, чтобы все строки подзапроса удовлетворяли внешнему условию.

Примеры

Шаблон:alt ttl Выбрать тех клиентов, чьи рейтинги выше, чем у каждого клиента в Megacity: SELECT * FROM Customers WHERE rating > ALL( SELECT rating FROM Customers WHERE city = 'Megacity' ) Результат:

CNUMCNAMECITYRATINGSNUM
2002OscorpGotham2001003
2003UmbrellaRaccoon2001002
2004ApertureMetropolis3001002
2008RobCoRapture3001007

См. также

По теме «SQL/ALL» см. также сдед.:

Эта статья относится к языку SQL.