Выражения скалярного подзапроса

Подзапрос, возвращающий из одной строки ровно одно значение столбца, называют также скалярным подзапросом.

Подзапросы, содержащие несколько столбцов, которые написаны для сравнения двух или более столбцов с использованием составного предложения WHERE и логических операторов, не квалифицируются как скалярные подзапросы.

  • Выражение скалярного подзапроса – это подзапрос, возвращающий из одной строки ровно одно значение столбца.

  • Возможное местонахождение скалярных подзапросов:

    • часть условия и выражения в DECODE и CASE;

    • все предложения в инструкции SELECT, кроме GROUP BY;

    • предложение SET и предложение WHERE инструкции UPDATE.

Скалярные подзапросы в SQL

Значение выражения скалярного подзапроса – это значение элемента списка выбора, относящегося к подзапросу. Если подзапросом возвращается 0 строк, значение выражения скалярного подзапроса равно NULL. Если подзапросом возвращается более одной строки, сервер Oracle возвращает ошибку.

Сервером Oracle всегда поддерживается использование скалярного подзапроса в инструкции SELECT.

Скалярные подзапросы могут встречаться в следующих местах:

  • часть условия и выражения в DECODE и CASE;

  • все операторы в инструкции SELECT, кроме GROUP BY;

  • предложение SET и предложение WHERE инструкции UPDATE.

Однако скалярные подзапросы являются недопустимыми выражениями в следующих местах:

  • в качестве значений по умолчанию для столбцов и хэш-выражений кластеров;

  • в предложении RETURNING инструкций DML (data manipulation language);

  • в качестве основы функциональных индексов;

  • в предложениях GROUP BY, ограничениях CHECK и условиях WHEN;

  • в операторах CONNECT BY;

  • в инструкциях, которые не связаны с запросами, например CREATE PROFILE.

Далее: Использование метасимволов с регулярными выражениями

Related Posts