Примеры скалярных подзапросов

В первом примере на рисунке показывается, что скалярные подзапросы могут использоваться в выражениях CASE. Внутренний запрос возвращает значение 20, являющееся идентификатором отдела, код местоположения которого равен 1800.

6-12-6061205

Выражение CASE во внешнем запросе использует результат внутреннего запроса для отображения идентификатора сотрудника, фамилий и значения Canada (Канада) или USA (США) в зависимости от того, равен ли 20 идентификатор отдела в записи, извлекаемой внешним запросом, или нет.

  • Скалярные подзапросы в выражениях CASE:

  • Скалярные подзапросы в предложении ORDER BY:

6-12-2-8240188

Результат выполнения первого примера, показанного на рисунке, приводится ниже:

6-12-3-3336639

Во втором примере на рисунке показывается, что скалярные подзапросы могут использоваться в операторе ORDER BY. В примере упорядочиваются выходные данные, основанные на значении DEPARTMENT_NAME, путем сопоставления значения DEPARTMENT_ID из таблицы EMPLOYEES со значением DEPARTMENT_ID из таблицы DEPARTMENTS. Это сравнение выполняется в скалярном подзапросе в операторе ORDER BY. Результат выполнения второго примера приводится ниже:

6-12-4-1812403

Во втором примере используется коррелированный подзапрос. Коррелированный подзапрос ссылается на столбец из таблицы, упоминаемой в родительской инструкции.

Коррелированные подзапросы будут рассмотрены далее в этой рубрике.

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

Похожие записи