ВУЗ:
Составители:
Рубрика:
– 94 –
В приведенном запросе вложенный запрос вычисляет одну и ту же сумму
плановых объемов продаж всех офисов, которая затем умножается на
0,1 (10%).
Полученное значение используется в условии отбора при сканировании табли-
цы
SLUZHASCHIE на предмет поиска нужных строк.
Далее рассмотрим более сложный пример, приведенный в предыдущем
разделе
SELECTCITY
FROMOFFISY
WHERETARGET>(SELECTSUM(QUOTA)
FROMSLUZHASCHIE
WHERESLUZHASCHIE.ID_OFC=OFFISY.ID_OFC)
На Рис. 4.1. приведена схема выполнения этого запроса, в котором вло-
женный запрос возвращает различные результаты для каждого офиса.
1. Главный запрос извлекает данные из таблицы
OFFISY.
2. Условие предложения
WHERE обеспечивает отбор офисов, включаемых в
таблицу результатов запроса. Это условие поочередно применяется ко всем
строкам таблицы
OFFISY.
3. В предложении
WHERE сравнивается значение текущей строки в столбце
TARGET со значением, возвращаемым вложенным запросом.
4. Для каждой строки результирующей таблицы выполняется свой вложен-
ный запрос, вычисляющий сумму плановых объемов продаж для служащих те-
кущего офиса.
Таблица OFFISY
Таблица SLUZHASCHIE
ID_SLZH … ID_OFFICE …
… …
… …
ID_OFFICE CITY … TARGET
22 2111 … $575 000.00
11 2102 … $675 000.00
12 2103 … $800 000.00
Таблица SLUZHASCHIE
ID_SLZH … ID_OFFICE …
… …
… …
SELECT SUM(QUOTA)
FROM СЛУЖАЩИЕ С
WHERE С.ID_OFFICE=11
>?
SELECT SUM(QUOTA)
FROM СЛУЖАЩИЕ С
WHERE С.ID_OFFICE=12
>?
Рис. 4.1. Выполнение вложенного запроса в предложении WHERE
Страницы
- « первая
- ‹ предыдущая
- …
- 92
- 93
- 94
- 95
- 96
- …
- следующая ›
- последняя »
