SQL: Оператор EXISTS для проверки наличия строк
Оператор EXISTS в MySQL используется для проверки наличия строк, удовлетворяющих условию в подзапросе. Он возвращает true, если подзапрос находит хотя бы одну строку, и false в противном случае. Этот оператор часто используется для условий, когда тебе нужно проверить существование связанных данных в других таблицах.
Пример - запрос найдёт клиентов, которые сделали хотя бы один заказ:
# Выбираем имена клиентов (clientName) из таблицы clients, для которых существуют записи в таблице orders SELECT clientName FROM clients WHERE EXISTS ( SELECT 1 FROM orders WHERE orders.clientID = clients.clientID );
Пример - запрос найдёт клиентов, которые не сделали ни одного заказа:
SELECT clientName FROM clients WHERE NOT EXISTS ( SELECT 1 FROM orders WHERE orders.clientID = clients.clientID );
Комментарии