
 
13
С точки зрения использования в качестве источников данных при составле-
нии  запроса,  нет  разницы  между  запросами  и «постоянными»  таблицами.  В 
языке SQL есть возможность не только обращаться по имени к созданным ра-
нее объектам – запросам, но и определять «вложенные» («подчиненные») за-
просы непосредственно внутри основного запроса. 
Пример 1.10 (один из источников данных – вложенный запрос).  
SELECT Клиент.Фамилия, Подписка2.Журнал 
FROM Клиент, (SELECT * FROM Подписка) AS Подписка2  
…  
Ключевое  слово «AS»  задает  имя (псевдоним),  по  которому  следует  обра-
щаться  к  полям  временной  таблицы,  сформированной вложенным  запросом, в 
пределах «главного» запроса. 
Результаты работы запросов в первом и втором примерах идентичны. Вло-
женный  запрос  в  данном  случае  не имеет практического  смысла.  Однако  вло-
женные  запросы  могут  иметь  и  более  сложную  структуру,  и  в  некоторых  си-
туациях необходимы. 
Вложенные  запросы,  в  свою  очередь,  также  могут  содержать  внутри  себя 
вложенные запросы. 
Пример 1.11 (трехуровневый запрос, действует аналогично двум предыду-
щим).  
SELECT Клиент.Фамилия, Подписка2.Журнал 
FROM Клиент, (SELECT * FROM  
   (SELECT * FROM Подписка)  
  ) AS Подписка2  
…  
В операторе «SELECT», применяемом при создании вложенных запросов, 
могут  быть  использованы  любые  предложения,  как  и  в  операторах  верхнего 
уровня («FROM», «WHERE», «GROUP BY», «ORDER BY» …). 
Действующий  пример  с  использованием  вложенного  запроса  будет  приве-
ден ниже. 
 
Вложенные запросы в предложении WHERE. Вложенные запросы могут 
быть использованы не только в качестве источников данных, но и в предложе-
нии WHERE, при определении ограничений результирующего набора. 
Пример 1.12. Пусть существует таблица 
Зарплата(Номер
, ФИО, Оклад)  
Запрос, выводящий ФИО и оклад работников, оклад которых выше средне-
го, может иметь следующий вид: 
SELECT ФИО, Оклад 
FROM Зарплата 
WHERE Оклад > 
 (SELECT AVG(Оклад) FROM Зарплата) 
ORDER BY ФИО;