5.3.5.5 Підзапити, що починаються з операторів порівняння та ключових слів ANY або ALL
В іншому виді підзапитів, що не повертають або повертають кілька рядків, використовується оператор порівняння, модифікований ключовими словами ANY чи ALL. Підзапити, що починаються з модифікованого оператора порівняння, мають загальну форму наступного виду:
<Початок операторів SELECT, INSERT, UPDATE, DELETE чи підзапиту у WHERE> <оператор_порівняння> [ANY | ALL] (підзапит) [Кінець операторів SELECT, INSERT, UPDATE, DELETE або підзапиту у WHERE]
Що таке ALL і ANY. Якщо в якості прикладу скористатися оператором порівняння ">", то "> ALL" означає "більше, ніж кожне значення" (іншими словами, "більше, ніж найбільше значення"). Таким чином, "> ALL (1, 2, З)" означає "більше, ніж З". "> ANY" означає "більше, ніж, принаймні, одне значення" (іншими словами, "більше, ніж найменше значення"). Таким чином, "> ANY (1, 2, З)" означає "більше, ніж 1".
5.3.5.5.1 Підзапити з ключовим словом ANY
Приклад 1. Запит: знайти посади викладачів, що більше (за кодом, а не за семантичним значенням) будь якої посади викладачів кафедри №12 (на кафедрі дві посади з кодами „01” і „03”).
WHERE ((( VYKLADACH.KodPost)=ANY (SELECT KodPost FROM VYKLADACH
WHERE NomKaf=12)));
PrizvVykl
NomKaf
KodPost
Середа І.С.
Мунтян Р.Д.
Турчак А.Д.
Махно Н.Є.
Собчак А.О.
Результат цього запиту повністю співпав би із результатом запиту з предикатом IN. Покажемо це на запиті для кафедри №2 (див. вище запит для цієї кафедри з предикатом IN).