Він перевіряє, що в підпорядкованому запиті існує бодай один рядок, який задовольняє умовам вибірки. В цьому випадку предикат приймає значення True (істина), а інакше – False (хибність). Немає значення, які саме значення повертає підпорядкований запит. Тому в підзапиті можна використовувати символ * замість конкретних полів. Використання підпорядкованих запитів – це не найкращий спосіб. Краще створювати запит на запиті.
Приклад 5.17. Вивести прізвища людей, яким була нарахована заробітна плата.
SELECT tvidom.fio FROM tvidom
WHERE
(((EXISTS (SELECT * FROM tzarobitok
WHERE tvidom.tn = tzarobitok.tn)) = True));
Предикати SOME, ANY, ALL
Синтаксис:
Вираз знак порівняння [SOME | ANY | ALL]
(підпорядкований-запит)
Тип даних виразу повинен бути сумісним з типом даних стовпця, який повертає підпорядкований запит. Регістр при порівнянні не враховується.
Ø ALL – результат приймає значення істина, якщо істинні всі порівняння виразу зі значеннями стовпця підзапиту;
Ø SOME або ANY – результат приймає значення істина, якщо значення виразу співпадають бодай з одним зі значень, що повертає підзапит.
Контрольні питання
1 Яку структуру має команда SELECT ?
2 Які розділи команди SELECT є обов’язковими? Для чого вони призначені? Створення обчислювальних полів.
3 Створення запитів з кількох таблиць. Використання розділу JOIN. Які існують типи з'єднання таблиць?
4 Сортування даних вибірки.
5 Використання розділів GROUP BY та HAVING.
6 Використання розділу UNION.
7 Створення перехресного запиту.
8 Як створити нову таблицю для результатів вибірки за допомогою команди SELECT ?
9 Яка команда використовується для оновлення даних в таблиці?