WHERE ((( VYKLADACH.KodPost) = ANY (SELECT KodPost FROM VYKLADACH WHERE NomKaf=2)));
PrizvVykl
NomKaf
KodPost
Бандур М.М.
Сірко В.В.
Оприско Ю.Й.
Батурин О.Й.
Балагура А.М.
Черно Ф.М.
Але оператори порівняння NOT IN та <>ANY не є еквівалентними. Їх семантика, на жаль, залежить від синтаксису, прийнятого в конкретній системі. Найбільш поширеною є така інтерпретація : якщо вектор у таблиці, що отримується внутрішнім запитом, складається із значень {a,b,c}, то "<> ANY" означає "<> а” або “<> b” або “<> с", у той час як NOT IN означає "<> а” i “<> b” i “<> c".
WHERE (((VYKLADACH.KodPost) <>ANY (SELECT KodPost FROM VYKLADACH WHERE NomKaf=2)));
PrizvVykl
NomKaf
KodPost
Середа І.С.
Бандур М.М.
Мунтян Р.Д.
Сірко В.В.
Оприско Ю.Й.
Турчак А.Д.
Батурин О.Й.
Балагура А.М.
Махно Н.Є.
Собчак А.О.
Черно Ф.М.
Як бачимо, в результатну таблицю занесено усі рядки таблиці VYKLADACH, тому що будь яке значення атрибута KodPost не співпадає або з “02”, або з “04”, які є на кафедрі №2. Результат цього запиту не співпадає з результатом аналогічного запиту з предикатом “NOT IN” (див. вище).
5.3.5.5.2 Підзапити з ключовим словом ALL
Запит : знайти посади викладачів, що більше (за кодом, а не за семантичним значенням) самої більшої (за кодом) посади викладачів кафедри №12 (на кафедрі дві посади з кодами „01” і „03”).