EXISTS условие MySQL

В этом учебном пособии вы узнаете, как использовать MySQL условие EXISTS с синтаксисом и примерами.

Описание

MySQL условие EXISTS используется в сочетании с подзапросом и считается «удовлетворяемым», если подзапрос возвращает хотя бы одну строку. Он может использоваться в операторах SELECT, INSERT, UPDATE или DELETE.

Синтаксис

Синтаксис условия EXISTS в MySQL:

WHERE EXISTS ( subquery );

Параметры или аргументы

subquery — оператор SELECT, который обычно начинается с SELECT *, а не из списка выражений или имен столбцов. MySQL в любом случае игнорирует список выражений в подзапросе.

Примечание

  • Операторы SQL, которые используют условие EXISTS в MySQL, очень неэффективны, так как подзапрос перезапускается для КАЖДОЙ строки в таблице внешнего запроса. Существуют более эффективные способы написания большинства запросов, которые не используют условие EXISTS.

Пример с помощью оператора SELECT

Рассмотрим простой пример.
Ниже приведен оператор SELECT, который использует MySQL условие EXISTS:

Этот пример MySQL условия EXISTS возвращает все записи из таблицы customers, где есть хотя бы одна запись в таблице order_details с соответствующим customer_id.

Пример оператора SELECT с использованием NOT EXISTS

MySQL условие EXISTS также может сочетаться с оператором NOT.
Например:

Этот MySQL пример EXISTS вернет все записи из таблицы customers, в которых нет записей в таблице order_details с соответствующим customer_id.

Пример с оператором INSERT

Ниже приведен пример оператора INSERT, в котором использует MySQL условие EXISTS:

Пример с оператором UPDATE

Ниже приведен пример оператора UPDATE, в которой используется MySQL условие EXISTS:

Пример с оператором DELETE

Ниже приведен пример оператора DELETE, в которой используется MySQL условие EXISTS: