Базы данных. Основы SQL реляционных баз данных. Копейкин М.В - 124 стр.

UptoLike

Рис. 5.20. Строка не попадает в ответ
Полученный результат после обработки внешним запросом будет
отклонен в качестве ответа в результирующую таблицу.
Таким образом, внешний запрос пробегает все строки базовой таблицы
СОТРУДНИК, передавая идентификаторы сотрудников во внутренний
запрос, на основании которых создается промежуточная таблица, которая в
свою очередь подвергается обработке со стороны внешнего
запроса.
Такой подзапрос отличается от простого вложенного подзапроса тем, что
вложенный подзапрос не может быть обработан прежде, чем будет обрабатываться
внешний подзапрос. Это связано с тем, что вложенный подзапрос зависит от значения
Сотрудник.Ид_Сотр. Это значение изменяется по мере того, как система проверяет
различные строки таблицы СОТРУДНИК (рис. 2.1).
Одна таблица во
внешнем и внутреннем подзапросе
Рассмотрим пример использования одной и той же таблицы во внешнем
подзапросе и коррелированном вложенном подзапросе: "Показать номера работ для всех
видов работ, выполняемых только одним сотрудником".
Заметим, что для реализации подобных запросов необходимо использовать алиасы
(псевдонимы).
SELECT DISTINCT Раб1.Ид_Вида
FROM Работы Раб1
WHERE Раб1.Ид_Вида NOT IN
( SELECT Раб2.Ид_Вида
FROM Работы Раб2
WHERE Раб2.Ид_Сотр <> Раб1.Ид_Сотр);