WHERE Misto = ‘Стебник’)
- в цьому прикладі підлеглий запит також повертає одне єдине значення.
Але, якщо в прикладі 81 це гарантувалося використанням функції SUM( ) в якості результуючого стовпчика підлеглого запиту, то в прикладі 83 єдність забезпечується логікою задачі – в одному місті знаходиться лише одна філія, тому умова
Misto = ‘Стебник’
відбирає лише один рядок з таблиці Filii
В перевірці порівняння з результатом підлеглого запиту можна використовувати ті самі операції відношення (=, <>, >, <, >=, <=), що і в звичайному порівнянні.
При цьому результатом підлеглого запиту, який приймає участь в порівнянні, повинно бути єдине одиничне значення, тобто таблиця, яка складається рівно з одного рядка і одного стовпчика.
Якщо результатом підлеглого запиту є кілька рядків чи кілька стовпчиків, то порівняння не має змісту і СУБД виводить повідомлення про помилку. Якщо в результаті виконання підлеглого запиту не буде отримано жодного рядка або буде отримано значення NULL, то операція порівняння поверне значення NULL:
де - операція відношення =, <>, >, <, >=, <=
Згідно стандарту SQL, підлеглий запит в порівнянні може бути записаний лише після знаку операції відношення:
- допускається, а
- забороняється.
Приходиться переформульовувати запит так, щоб „перевернути” умову „зліва направо”:
84).а) Вивести список філій, в яких сума фактичних об’ємів продаж працівників менша планового об’єму продаж цієї філії:
84).а). SELECT Misto