Лабораторная работа 7
Создание подзапросов для выборки данных по неизвестным критериям
Использование подзапросов для выявления значений, существующих в одном наборе данных и отсутствующих в другом
С
оздайте
запрос для вывода фамилии и даты найма
каждого служащего, работающего в одном
отделе с Zlotkey. Исключите
Zlotkey из выходных данных.
{Select в скобках - подзапрос}
Select last_name, hire_date
From employees
Where department_id = (select department_id from employees where last_name ='Zlotkey') and (last_name <>'Zlotkey');
С
оздайте
запрос для вывода номеров и фамилий
всех служащих, оклад которых выше
среднего. Отсортируйте данные в порядке
увеличения окладов.
Select employee_id, last_name, salary
From employees
Where salary > (select avg(salary) from employees);
С
оздайте
запрос для вывода номеров и фамилий
всех служащих, работающих в одном отделе
с любым служащим, фамилия которого
содержит букву «u».
Сохраните свой запрос в тестовом файле
lab6_3.sql.
Выполните запрос.
Select employee_id, last_name
From employees
Where department_id in (select distinct department_id from employees where last_name LIKE'%u%');
С
оздайте
запрос для вывода фамилии, номера отдела
и должности каждого служащего,
идентификатор местоположения отдела
которого равен 1700.
Select last_name, department_id, job_id
From employees
Where department_id in (select department_id from departments where location_id = 1700);
Получите список фамилий и окладов всех служащих, подчинённых Кингу.
Select last_name, salary
From employees
Where manager_id in (select employee_id from employees where last_name='King');
П
олучите
номер отдела, фамилию и должность для
каждого служащего, работающего в
администрации (department_name
= ‘Executive’).
Select department_id, last_name, job_id
From employees
Where department_id in (select department_id from departments where department_name='Executive');
Измените lab6_3.sql для вывода номеров, фамилий и окладов всех служащих, которые работают в одном отделе с любым служащим с буквой «u» в фамилии и оклады которых превышают средний. Сохраните новый запрос в файле lab6_7.sql. Выполните его.
Select employee_id, last_name, salary
From employees
Where department_id in (select distinct department_id from employees where last_name like'%u%') and (salary > (select avg(salary) from employees));
П
окажите
номер отдела с наивысшей средней
заработной платой и наименьший оклад
работающегов нём сотрудника.
Select department_id, avg(salary), min(salary) from employees group by department_id having avg(salary)=(select max(avg(salary)) from employees group by department_id);
В
ыведите
номера , наименования и местоположения
отделов, в которых не работают торговые
представители (job_id
= ‘SA_REP’).
Select department_id, department_name, location_id
From departments
Where department_id not in (select distinct department_id from departments where department_id in (select distinct department _id from employees where job_id = 'SA_REP'));
