
Отчёт Команды SELECT
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Кафедра безопасности информационных систем
ОТЧЁТ по домашней работе на тему: «Команды SELECT» по дисциплине «Управление данными»
Выполнил: студент группы ИСТ-931, Гетманченко П.А.
«02» мая 2021 г. ____________/П.А. Гетманченко/
Принял: к.т.н., доцент Липанова И.А.
«02» мая 2021 г. ____________/И.А. Липанова/
Санкт-Петербург 2021
Цель: написать запросы по 4 задачам.
Ход работы
Задание №1: вывести номер отдела, среднюю зарплату и сумму зарплат по отделам. Упорядочить по номеру отдела.
Код программы для задания №1:
SELECT department_id AS Номер_отд, ROUND(AVG(salary)) AS Ср_Зп, SUM(salary) AS Сумма_Зп_Отд
FROM employees
GROUP BY department_id
ORDER BY department_id;
Результат выполнения запроса представлен на рисунке 1:
Рисунок 1 – запрос и результат запроса по задаче №1
Задание №2: вывести номер отдела, город, среднюю зарплату и сумму зарплат по отделам и городам.
Код программы для задания №2:
SELECT a.department_id AS Номер_отд, city AS Город, ROUND(AVG(salary)) AS Ср_Зп, SUM(salary) AS Сумма_Зп_Отд
FROM employees b
JOIN departments a ON b.department_id = a.department_id
JOIN locations d ON a.location_id = d.location_id
GROUP BY a.department_id, city;
Результат выполнения запроса представлен на рисунке 2:
Рисунок 2 – запрос и результат запроса по задаче №2
Задание №3: вывести номер отдела, город, среднюю зарплату и сумму зарплат по отделам и городам, для случая, когда сумма зарплат больше 22000.
Код программы для задания №3:
SELECT a.department_id AS Номер_отд, city AS Город, ROUND(AVG(salary)) AS Ср_Зп, SUM(salary) AS Сумма_Зп_Отд
FROM employees b
JOIN departments a ON b.department_id = a.department_id
JOIN locations d ON a.location_id = d.location_id
GROUP BY a.department_id, city
HAVING SUM(salary) > 22000;
Результат выполнения запроса представлен на рисунке 3:
Рисунок 3 – запрос и результат запроса по задаче №3
Задание №4: вывести максимальное среднее значение по отделам.
Код программы для задания №4:
SELECT ROUND(MAX(AVG(salary))) AS Макс_Ср_Отд
FROM employees
GROUP BY department_id;
Результат выполнения запроса представлен на рисунке 4:
Рисунок 4 – запрос и результат запроса по задаче №4
Вывод
Были написаны запросы по 4 задачам, работающие впоследствии корректно.