Оператор 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
);
Комментарии
0Нашли ошибку или хотите дополнить материал?