Базы данных. Учебное пособие


         

Подзапросы


Подзапрос  может  помещаться  в  команду  WHERE  запроса,  в  результате  чего  возможности  команды  WHERE  расширяются.  Рассмотрим  пример.

Запрос:  Вывести  специальности  рабочих,  назначенных  на  здание  435?

SELECT  Специальность

    FROM  Работник

    WHERE  № работника  IN

                        (SELECT   № работника

                            FROM   Работа

                            WHERE  № здания = 435 )

Подзапрос  в  этом  примере

                           

                         (SELECT   № работника

                            FROM   Работа

                            WHERE  № здания = 435 )

Запрос,  в  котором  содержится  подзапрос,  называется  внешним  запросом  или  главным  запросом.  Подзапрос  приводит  к  созданию  следующего  множества № работников:

 

№ Работника

   1412

   1235

Затем  это  множество  «№ Работников»  занимает  место  подзапроса  во  внешнем  запросе.  С  этого  момента  выполняется  внешний  запрос,  использующий  множество,  созданное  подзапросом.  Внешний  запрос  обрабатывает  каждую  строку  таблицы  «Работник»  в  соответствии  с  условием  WHERE.  Если  «№ работника»  строки  лежит  во  множестве,  созданном  подзапросом, то  «Специальность»  строки  выбирается  и  выводится  в  результирующей  таблице:

 

Специальность

 Штукатур

 Электрик

Очень  важно,  что  фраза  SELECT  подзапроса  содержит  «№ работника»  и  только   «№ работника.  В  противном  случае  фраза    WHERE  внешнего  запроса,  означающая,  что  «№ работника»  лежит  в  множестве  «№  работников»,  не  имела  бы  смысла.

Подзапрос  может  логично  выполняться  прежде,  чем  хотя  бы  одна  строка  рассматривается  главным  запросом.  В  некотором  смысле  подзапрос  независим  от  главного  запроса.  Он  может  выполняться  как  полноценный  запрос.  Такой  подзапрос  называется  некоррелированным  подзапросом. 

Приведем  пример  подзапроса  внутри  подзапроса.

Запрос:  Вывести  фамилии  работников,  назначенных  на  здания  офисов.



Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий