Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ORACLE_SQL_LAB_NEW_mama.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
312.83 Кб
Скачать

Лабораторная работа 7

  • Создание подзапросов для выборки данных по неизвестным критериям

  • Использование подзапросов для выявления значений, существующих в одном наборе данных и отсутствующих в другом

  1. С оздайте запрос для вывода фамилии и даты найма каждого служащего, работающего в одном отделе с 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');

  1. С оздайте запрос для вывода номеров и фамилий всех служащих, оклад которых выше среднего. Отсортируйте данные в порядке увеличения окладов.

Select employee_id, last_name, salary

From employees

Where salary > (select avg(salary) from employees);

  1. С оздайте запрос для вывода номеров и фамилий всех служащих, работающих в одном отделе с любым служащим, фамилия которого содержит букву «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%');

  1. С оздайте запрос для вывода фамилии, номера отдела и должности каждого служащего, идентификатор местоположения отдела которого равен 1700.

Select last_name, department_id, job_id

From employees

Where department_id in (select department_id from departments where location_id = 1700);

  1. Получите список фамилий и окладов всех служащих, подчинённых Кингу.

Select last_name, salary

From employees

Where manager_id in (select employee_id from employees where last_name='King');

  1. П олучите номер отдела, фамилию и должность для каждого служащего, работающего в администрации (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');

  1. Измените 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));

  1. П окажите номер отдела с наивысшей средней заработной платой и наименьший оклад работающегов нём сотрудника.

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);

  1. В ыведите номера , наименования и местоположения отделов, в которых не работают торговые представители (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'));

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]