Subqueries (подзапросы)

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

Что такое подзапрос в Oracle?

В Oracle подзапрос - это запрос в запросе. Вы можете создавать подзапросы внутри ваших операторов. Эти подзапросы могут находиться в предложении WHERE, в предложении FROM, или SELECT.

WHERE

Чаще всего, подзапрос будет используется в предложении WHERE. Эти подзапросы также называются вложенными подзапросами.

Например:

Ограничение: Oracle позволяет использовать до 255 уровней подзапросов в предложении WHERE.

FROM

Подзапрос также можно найти в FROM. Они называются inline представлениями.

Например:

В этом примере мы создали подзапрос в предложении FROM следующим образом:

Этот подзапрос с псевдонимом subquery1. Subquery1 используется для ссылки на этот подзапрос или любое из его полей.

Ограничения

В FROM Oracle позволяет неограниченное количество подзапросов.

SELECT

Подзапрос также можно найти в предложениях SELECT.

Например:

В этом примере мы создали вложенный запрос в предложении SELECT, следующим образом:

Этот подзапрос с псевдонимом subquery2. Subquery2 используется для ссылки на этот подзапрос или любое из его полей.

Уловка размещения подзапроса в select предложении является то, что подзапрос должен возвращать одно значение. Именно поэтому в подзапросе обычно используются агрегатные функции, такие как функция SUM, COUNT, MIN или MAX.