EXISTS Oracle/PLSQL

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

Oracle условие EXISTS используется в сочетании с подзапросом (subquery), и считай "должно быть выполнено", если подзапрос возвращает хотя бы одну строку. EXISTS может использоваться в предложениях SELECT, INSERT, UPDATE или DELETE.

Синтаксис

Синтаксис условия EXISTS в Oracle/PLSQL:

WHERE EXISTS ( subquery );

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

subquery Подзапрос - это предложение SELECT. Если подзапрос возвращает хотя бы одну запись в результирующем наборе, то условие EXISTS будет определяться как TRUE, и условие EXISTS будет выполнено. Если подзапрос не возвратит никаких записей, то условие EXISTS будет определяться как FALSE, и условие EXISTS не будет выполнено.

Примечание

  • Oracle запрос SQL, использующий условие EXISTS очень неэффективен, так как подзапрос перезапускается для каждой строки в таблице внешнего запроса.
  • Есть более эффективные способы написания большинства запросов, которые бы не использовали условие EXISTS.

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

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

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

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

Oracle условие EXISTS также может быть объединено с оператором NOT.

Например:

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

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

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

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

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

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

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