Общие сведения о вложенных запросах
Вложенный запрос — это инструкция SELECT, вложенная в другой запрос. Возможность вложения одного запроса в другой позволяет оптимизировать создание эффективных запросов в T-SQL. Как правило, вложенные запросы выполняются один раз и передают результаты внешнему запросу.
Работа с вложенными запросами
Вложенный запрос представляет собой инструкцию SELECT вложенную или внедренную в другой запрос. Вложенный запрос называется внутренним запросом. Запрос, содержащий вложенный запрос, является внешним запросом.
Целью вложенного запроса является возврат результатов для внешнего запроса. Форма результатов определяет, является ли вложенный запрос скалярным или многозначным:
- Скалярные вложенные запросы возвращают одно значение. Внешние запросы должны обрабатывать один результат.
- Многозначные вложенные запросы возвращают результат, похожий на таблицу с одним столбцом. Внешние запросы должны иметь возможность обрабатывать несколько значений.
Вложенные запросы могут быть не только скалярными и многозначными, но и автономными или связанными с внешним запросом:
- Автономные вложенные запросы могут быть написаны как изолированные запросы без зависимостей от внешнего запроса. Автономный вложенный запрос обрабатывается один раз, когда выполняется внешний запрос и передает свои результаты в этот внешний запрос.
- Связанные вложенные запросы ссылаются на один или несколько столбцов внешнего запроса и, следовательно, зависят от него. Связанные вложенные запросы не могут выполняться отдельно от внешнего запроса.