Введение
В этом проекте вы научитесь использовать встроенные функции MySQL для извлечения соответствующей информации из таблицы сотрудников (emp) в базе данных по персоналу. Вы будете практиковать написание SQL-запросов для доступа к и манипуляции данными в реляционной базе данных.
👀 Предварительный просмотр
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary |
+---------------+------------+------------+-------------+
| 20 | 3000.00 | 800.00 | 2175.000000 |
| 10 | 5000.00 | 1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к MySQL с использованием команды
sudoбез пароля - Как импортировать данные из SQL-файла в базу данных MySQL
- Как написать SQL-запрос для извлечения номера отдела, максимальной зарплаты, минимальной зарплаты и средней зарплаты для отделов с средней зарплатой 2000 и выше, и отсортировать результаты по убыванию номера отдела
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться, как использовать встроенные функции MySQL для выполнения сложного анализа данных
- писать SQL-запросы для извлечения и манипуляции данными из реляционной базы данных
- применять свои знания SQL для решения реальных задач управления данными
Доступ к MySQL и импорт данных
В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/personnel.sql в MySQL.
- Запустите службу MySQL:
sudo service mysql start
- Подключитесь к MySQL с использованием команды
sudo:
sudo mysql
- Импортируйте данные из
/home/labex/project/personnel.sqlв MySQL и переключитесь на базу данныхpersonnel:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
Напишите SQL-запрос
В этом шаге вы научитесь писать SQL-запрос для извлечения соответствующей информации из таблицы emp в базе данных personnel.
- Откройте файл
multiple_line_function.sql. - Добавьте в файл следующий SQL-запрос:
SELECT deptno AS 'department_id', MAX(sal) AS'max_salary', MIN(sal) AS'min_salary', AVG(sal) AS 'avg_salary'
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000
ORDER BY deptno DESC;
Этот запрос будет извлекать номер отдела, максимальную зарплату, минимальную зарплату и среднюю зарплату для отделов с средней зарплатой 2000 и выше, и сортировать результаты по убыванию номера отдела.
Запустите SQL-запрос
В этом шаге вы научитесь запускать SQL-запрос, который вы написали на предыдущем шаге.
- Откройте MySQL-промпт:
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
Это выполнит SQL-запрос и покажет результаты в MySQL-пrompt.
Вывод должен выглядеть примерно так:
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary |
+---------------+------------+------------+-------------+
| 20 | 3000.00 | 800.00 | 2175.000000 |
| 10 | 5000.00 | 1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)
Поздравляем! Вы успешно завершили проект.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
