Файл: Лабораторная работа 2 нгасу(Сибстрин) Студент Шадрин М. Е. Группа 110магв.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.11.2023
Просмотров: 28
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ОТЧЕТ
ПО ЛАБОРАТОРНОЙ РАБОТЕ
Лабораторная работа №2
НГАСУ(Сибстрин)
Студент | Шадрин М.Е. |
Группа | 110маг-в |
Новосибирск 2023
Так как 41 нет сгенерировал еще число 2
40. Используя данные из таблицы HR.EMPLOYEES, отобразить номера департаментов, в которых максимальная месячная зарплата превышает 10000.
SELECT DEPARTMENTS.DEPARTMENT_ID, COUNT(*) FROM HR.DEPARTMENTS, HR.EMPLOYEES WHERE HR.EMPLOYEES.DEPARTMENT_ID = HR.DEPARTMENTS.DEPARTMENT_ID AND SALARY >= 10000 GROUP BY DEPARTMENTS.DEPARTMENT_ID
16. По данным из таблицы HR.EMPLOYEES найти количество сотрудников и среднюю зарплату для каждого департамента.
SELECT AVG(SALARY) AS "SALARY",count(DEPARTMENT_ID) AS "COUNT MANAGER" FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID
12. По данным из таблицы HR.EMPLOYEES сформировать список должностей с указанием job_id, количества сотрудников, средней зарплаты и разницы между самой высокой и самой низкой зарплатой. При формировании списка ограничиться департаментами, у которых номера отличаются от 80, 90 и 100.
SELECT JOB_ID, COUNT(JOB_ID) AS "MANAGER", AVG(SALARY) AS "AVG SALARY", MAX(SALARY) - MIN(SALARY) AS "DIFF SALARY" FROM HR.EMPLOYEES WHERE DEPARTMENT_ID IN (90, 100, 80) GROUP BY JOB_ID
20. По данным из таблицы HR.EMPLOYEES найти для каждого департамента минимальную и максимальную зарплату в разрезе отдельных должностей. Результаты упорядочить по убыванию DEPARTMENT_ID.
SELECT t1.JOB_ID, t1.DEPARTMENT_ID, t1.SALARY FROM HR.EMPLOYEES t1 WHERE t1.salary in (
select min(salary) from HR.EMPLOYEES tmin WHERE t1.DEPARTMENT_ID = tmin.DEPARTMENT_ID
union
select max(salary) from HR.EMPLOYEES tmax WHERE t1.DEPARTMENT_ID = tmax.DEPARTMENT_ID ) ORDER BY t1.DEPARTMENT_ID DESC
10. По данным из таблицы HR.EMPLOYEES сформировать список менеджеров, у любого из которых в подчинении находится не менее 4 сотрудников. Список сгруппировать по департаментам и отсортировать в порядке возрастания DEPARTMENT_ID
SELECT COUNT(t2.MANAGER_ID) AS "COUNT MANAGER", t2.DEPARTMENT_ID FROM HR.EMPLOYEES t2 HAVING COUNT(t2.MANAGER_ID) > 4 GROUP BY t2.DEPARTMENT_ID ORDER BY t2.DEPARTMENT_ID DESC
29. По данным из таблицы HR.EMPLOYEES посчитать, сколько сотрудников было принято на работу во 2-й половине каждого месяца в течение 2005-го года
SELECT COUNT(TO_CHAR(HIRE_DATE, 'MM')) AS "COUNT MANAGER" FROM HR.EMPLOYEES WHERE TO_CHAR(HIRE_DATE, 'YYYY') = 2005 AND TO_CHAR(HIRE_DATE, ' DD') > 15 GROUP BY TO_CHAR(HIRE_DATE, 'MM')
2. По данным из таблицы HR.LOCATIONS сформировать список идентификаторов стран (country_id) и одновременно для этих стран вычислить количество мест размещения департаментов. В полученный список включить только страны с количеством мест размещения департаментов не менее 2.
SELECT COUNTRY_ID, COUNT(COUNTRY_ID) FROM HR.LOCATIONS GROUP BY COUNTRY_ID HAVING COUNT(COUNTRY_ID) >= 2
34. Записи из таблицы HR.DEPARTMENTS сгруппировать по коду местоположения (LOCATION_ID) и вычислить количество департаментов, относящихся в каждому местоположению.
SELECT COUNT(DEPARTMENT_ID), LOCATION_ID FROM HR.DEPARTMENTS GROUP BY LOCATION_ID
33. Записи из таблицы HR.JOBS сгруппировать по максимальному размеру зарплаты (MAX_SALARY), вычислить количество записей в каждой группе и отобразить только те группы, в которых имеется не менее 2 записей.
SELECT COUNT(MAX_SALARY) FROM HR.JOBS HAVING COUNT(MAX_SALARY) >= 2 GROUP BY MAX_SALARY
18. По данным из таблицы HR.EMPLOYEES найти количество сотрудников и фонд заработной платы для каждого департамента.
SELECT SUM(SALARY), COUNT(DEPARTMENT_ID) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID