Проектирование баз данных для экономических информационных систем в среде сервера данных ORACLE 7.3. Меркулова Т.А - 74 стр.

UptoLike

76
Особенностью выполнения операций объединения, пересечения и
разности служит тот факт, что аргументами операций являются
результаты выполнения запросов.
select <столбцы>
from <таблицы>
:
where
union [all] / intersect / minus
select <столбцы>
from <таблицы>
where <условие>;
При выполнении теоретико-множественных операций над запросами
необходимо согласование типов столбцов в каждом аргументе.
7.2. Вложенные запросы
SQL допускает вложение запросов до 255 раз, обработка вложенных
запросов осуществляется от самого глубокого запроса к внешнему,
причем результат предыдущего по вложенности запроса подставляется
в условие верхнего запроса.
Пример: выбрать сотрудника, который занимает такую же должность,
как и известный нам человек, табельный номер которого задан.
select emp_no, job, sal
from emp
where job = (select job
from emp
where emp_no = '0002' );
При организации вложенного запроса необходимо учитывать, какой
результат вернет вложенный запрос (одностроковый или
многостроковый и какой тип будут иметь столбцы результата).
Пример: найти всех служащих, с такими же должностями, что и в 30-м
отделе.
select emp_no, job, sal
from emp
where job in (select job
from emp
where dept_no = '30' );
Если условие, требующее выполненного запроса содержит групповую
функцию, то такой запрос вкладывается в предложение having.
Например, запрос: найти всех сотрудников, получающих оклад выше
среднего в своем отделе.