Этот вопрос проверяет понимание оператора EXISTS в SQL и его применения для проверки существования записей в подзапросе.
EXISTS используется в SQL для проверки наличия записей в результате подзапроса. Он возвращает true, если подзапрос возвращает хотя бы одну строку, и false, если строк нет. Это эффективно для проверки условий существования без получения фактических данных.
Оператор EXISTS применяется в SQL для проверки существования записей, удовлетворяющих условиям подзапроса. Он работает с логическими значениями (true/false) и часто используется в условиях WHERE.
Основные особенности:
Возвращает true, если подзапрос возвращает ≥1 строки
Возвращает false, если подзапрос не возвращает строк
Не обрабатывает фактические данные — только проверяет наличие
Обычно работает быстрее, чем альтернативы (например, COUNT), так как прекращает выполнение после нахождения первой совпадающей записи
Пример использования:
-- Найти всех клиентов, которые сделали хотя бы один заказ
SELECT name
FROM customers c
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c.id
);Когда использовать:
Для проверки наличия связанных записей (например, существование заказов у клиента)
В сложных условиях WHERE с вложенными запросами
Когда не нужны сами данные из подзапроса, только факт их существования