Вывод данных по группам с помощью предложения GROUPBY
Включение и исключение групп с помощью предложения HAVING
Напишите запрос для вывода самого высокого, самого низкого и среднего оклада по всем служащим, а также суммы всех окладов. Назовите столбцы Maximum, Minimum, Average и Sum. Округлите средний оклад до ближайшего целого значения. Сохраните свой запрос в файле lab5_6.sql.
Измените запрос в lab5_6.sql. так, чтобы получить самый низкий, самый высокий и средний оклады, а также сумму окладов по каждой должности. Сохраните изменённый запрос в файле lab5_5.sql. Выполните запрос из lab5_5.sql.
Напишите запрос для вывода должности и количества служащих, занимающих каждую должность.
JOB_ID
CNT
AD_ACCOUNT
AC_MGR
AD_ASST
AD_PRES
AD_VP
IT_PROG
MK_MAN
MK_REP
SA_MAN
SA_REP
ST_CLERK
ST_MAN
select job_id, count(employee_id) CNT
from employees group by job_id;
JOB_ID
CNT
AC_ACCOUNT
AC_MGR
AD_ASST
AD_PRES
AD_VP
FI_ACCOUNT
FI_MGR
HR_REP
IT_PROG
MK_MAN
MK_REP
PR_REP
PU_CLERK
PU_MAN
SA_MAN
SA_REP
SH_CLERK
ST_CLERK
ST_MAN
Получите количество служащих, имеющих подчинённых, без их перечисления. Назовите столбец NumberofManagers. Используйте столбец MANAGER_ID для определения числа менеджеров.
Number of Managers
select count(distinct(manager_id)) "Number of Managers" from employees;
Number of Managers
Напишите запрос для вывода разности между самым высоким и самым низким окладами. Назовите столбец DIFFERENCE
DIFFERENCE
select max(salary)-min(salary) "DIFFERENCE" from employees;
DIFFERENCE
Напишите запрос для вывода номера каждого менеджера, имеющего подчинённых, и заработную плату самого низкооплачиваемого из его подчинённых. Исключите менеджеров для которых неизвестны их менеджеры. Исключите все группы, где минимальный оклад составляет менее $6000. Отсортируйте выходные строки в порядке убывания оклада.
MANAGER_ID
MIN_SALARY
select MANAGER_ID, min(salary) "MIN_SALARY" from employees where manager_id is not null group by MANAGER_ID
having min(salary)>=6000
order by "MIN_SALARY" desc;
MANAGER_ID
MIN_SALARY
9 rows selected
Напишите запрос для вывода общего количества служащих и количества служащих, нанятых в 2005, 2006, 2007 и 2008 годах. Дайте соответствующие заголовки столбцам.
Напишите матричный запрос для вывода всех должностей и суммы заработной платы служащих, работающих в этой должности в отделах 20, 50, 80 и 90. Последний столбец должен содержать сумму заработной платы служащих этих отделов, занимающих каждую конкретную должность. Дайте столбцам соответствующие заголовки.