Правила выполнения вложенных запросов

А теперь подведем итоги изучения вложенных запросов и сформулируем правила, позволяющие использовать результаты одного запроса для получения результатов другого.

1. Если вложенный запрос содержится в предложении WHERE, его результаты используются для отбора отдельных строк, данные из которых заносятся в таблицу результатов запроса.

2. Если вложенный запрос содержится в предложении HAVING, его результаты используются для отбора групп строк, данные из которых заносятся в таблицу результатов запроса.

3. Вложенные запросы могут иметь несколько уровней вложенности.

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

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

6. При проверке на существование с помощью предиката EXISTS выясняется, возвращает ли вложенный запрос какие-либо значения.

7. При многократном сравнении с помощью предикатов ANY и ALL значение выражения сравнивается со всеми значениями, отобранными подчиненным запросом, чтобы выяснить, выполняется ли условие сравнения для некоторых, либо для всех значений.

Многотабличные запросы

До сих пор мы рассматривали однотабличные запросы, однако на практике довольно часто приходится иметь дело с многотабличными запросами. Например, предположим, что требуется выполнить запрос, реализующий вывод списка служащих и офисов, в которых они работают (таблицы SLUZHASCHIE и OFFISY) или вывод списка заказов, выполненных за заданный период, включая следующую информацию: наименование заказанного товара, стоимость заказа и имя клиента (таблицы ZAKAZY, CLIENTY и TOVARY).

Для ответа на эти вопросы SQL обеспечивает возможность выполнения многотабличных запросов, объединяющих данные из нескольких таблиц.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: