Соединение таблиц с использованием эквисоединения.
Выполнение внешних соединений и соединений таблицы с собой
Включение дополнительных условий.
1. Напишите запрос для вывода фамилии, номера отдела и названия отдела дл всех служащих.
LAST_NAME
DEPARTMENT_ID
DEPARTMENT_NAME
Whalen
Administration
Hartstein
Marketing
Fay
Marketing
Mourgos
Shipping
Rajs
Shipping
Davies
Shipping
Matos
Shipping
Vargas
Shipping
……………..
19 rows selected
2. Выведите список всех должностей в отдел 80 (должности в списке не должны повторяться) и местоположение отдела.
JOB_ID
LOCATION_ID
SA_MAN
SA_REP
3. Напишите запрос для вывода фамилий, названия отдела, идентификатора местоположения отдела и города, в котором он находится, для всех служащих, зарабатывающих комиссионные.
LAST_NAME
DEPARTMENT_NAME
LOCATION_ID
CITY
Zlotkey
Sales
Oxford
Abel
Sales
Oxford
Taylor
Sales
Oxford
4. Выведите фамилии всех служащих, содержащтих букву «а» (в строчном регистре), с названиями отделов. Сохраните свою команду SQL в БД lab4_4.sql.
LAST_NAME
DEPARTMENT_NAME
Whalen
Administration
Hartstein
Marketing
Fay
Marketing
Rajs
Shipping
Davies
Shipping
Matos
Shipping
Vargas
Shipping
Taylor
Sales
Kochhar
Executive
De Haan
Executive
10 rows selected.
5. Напишите запрос для вывода фамилии, должности, номера отдела и названия отдела всех служащих, работающих в городе Toronto.
LAST_NAME
JOB_ID
DEPARTMENT_ID
DEPARTMENT_NAME
Hartstein
MK_MAN
Marketing
Fay
MK_REP
Marketing
6. Выведите фамилии и номера всех служащих вместе с фамилиями и номерами их менеджеров. Назовите столбцы EMPLOYEE, Emp#, Manager и Mgr#. Сохраните свою команду SQL в БД (lab4_6.sql).
Employee
EMP#
Manager
Mgr#
Kochhar
King
De Haan
King
Mourgos
King
Zlotkey
King
…………….
7. Измените запрос lab4_6.sql так, чтобы получить фамилии всех служащих, включая Кинга, который не имеет менеджера. Упорядочьте результат по возрастанию номера служащего. Сохраните изменённый запрос в БД (lab4_7.sql). Выполните запрос.
Employee
EMP#
Manager
Mgr#
King
Kochhar
King
De Haan
King
Hunolds
De Haan
Ernst
Hunold
Lorentz
Hunold
…………………………….
8. Создайте запрос для вывода номера отдела, фамилии служащего и фамилий всех служащих, работающих в одном отделе с данным служащим. Дайте столбцам соответствующие имена.
DEPARTMENT
EMPLOYEE
COLLEAGUE
Fay
Hartstein
Hartstein
Fay
Davies
Matos
Davies
Mourgos
Davies
Rajs
Davies
Vargas
…………………
9. Покажите структуру таблицы JOB_GRADES. Создайте запрос для вывода фамилии, должности, названия отдела, оклада и категории (GRADE_LEVEL) всех служащих.
Name
Null?
Type
GRADE_LEVEL
VARCHAR2(3)
LOWEST_SAL
NUMBER
HIGHEST_SAL
NUMBER
LAST_NAME
JOB_ID
DEPARTMENT_NAME
SALARY
GRA
Matos
ST_CLERK
Shipping
A
Vargas
ST_CLERK
Shipping
A
Lorentz
IT_PROG
IT
B
Mourgos
ST_MAN
Shipping
B
Rajs
ST_CLERK
Shipping
B
Davies
ST_CLERK
Shipping
B
Whalen
AD_ASST
Administration
B
10. Создайте запрос для вывода фамилий и дат найма всех служащих, нанятых после Davies.
LAST_NAME
HIRE_DATE
Lorentz
07-FEB-99
Mourgos
16-NOV-99
Matos
15_MAR-98
Vargas
09-JUL-98
Zlotkey
29-JAN-00
Taylor
24-MAR-98
Grant
24-MAY-99
Fay
17-AUG-97
11. По всем служащим нанятым раньше своих менеджеров, выведите фамилии и даты найма самих служащих, а также фамилии и даты найма их менеджеров. Назовите столбцы Employee, Emp, Manager и Manager Hired.
Employee
Emp Hired
Manager
Mgr hired
Whalen
17-SEP-87
Kochhar
21-SEP-89
Hunold
03-JAN-90
De Haan
13-JAN-93
Rajs
17-OCT-95
Mourgos
16-NOV-99
Davies
29-JAN-97
Mourgos
16-NOV-99
Matos
15-MAR-98
Mourgos
16-NOV-99
Vargas
09-JUL-98
Mourgos
16-NOV-99
Abel
11-MAY-96
Zlotkey
29-JAN-00
Taylor
24-MAR-98
Zlotkey
29-JAN-00
Grant
24-MAY-99
Zlotkey
29-JAN-00
12. Выведите номера, наименования и местоположение всех отделов, а также количество работающих в них сотрудников. Обеспечьте вывод отделов в которых нет сотрудников.
DEPARTMENT_ID
DEPARTMENT_NAME
LOCATION_ID
COUNT(E.EMPLOYEE_ID)
Administration
Marketing
Shipping
IT
Sales
Executive
Accounting
Contracting
13. Какие должности имеются в отделах Administration и Executive, а также сколько сотрудников занимают эти должности? Выведите первыми наиболее часто встречаемые должности.
JOB_ID
FREQUENCY
AD_VP
AD_ASST
AD_PRES
14. Покажите сотрудников, менеджеры которых имеют оклад выше $15000. выведите следующие сведения: фамилию сотрудника, фамилию менеджера, его оклад и уровень оклада (GRADE_LEVEL).