Введение
В этом проекте вы научитесь получать максимальную и минимальную зарплаты для каждого отдела в базе данных MySQL с использованием встроенных функций и SQL-запросов.
👀 Предварительный просмотр
MySQL [edusys]> SOURCE ~/project/functionQuery.sql;
+------------+------------+------------+
| dept_name | max_salary | min_salary |
+------------+------------+------------+
| Biology | 72000.00 | 72000.00 |
| Comp. Sci. | 92000.00 | 65000.00 |
| Elec. Eng. | 80000.00 | 80000.00 |
| Finance | 90000.00 | 80000.00 |
| History | 62000.00 | 60000.00 |
| Music | 40000.00 | 40000.00 |
| Physics | 95000.00 | 87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как запустить сервер MySQL и импортировать данные в базу данных
- Как написать SQL-запрос для получения максимальной и минимальной зарплат для каждого отдела
- Как выполнить SQL-запросный скрипт в клиенте командной строки MySQL
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться, как использовать встроенные функции MySQL, такие как
MAX()иMIN(), для получения данных - писать SQL-запросы для группировки и агрегации данных по конкретным критериям
- выполнять SQL-скрипты в клиенте командной строки MySQL
- применять свои знания для решения реальных задач анализа данных
Запустить MySQL и импортировать данные
В этом шаге вы научитесь запускать сервер MySQL и импортировать данные из скрипта edusys.sql в базу данных MySQL.
Запустите сервер MySQL:
sudo /etc/init.d/mysql startВойдите в терминал MySQL:
mysql -urootИмпортируйте данные из скрипта
edusys.sql:SOURCE ~/project/edusys.sql
Написать запросный скрипт
В этом шаге вы научитесь писать запросный скрипт для получения максимальной и минимальной зарплат для каждого отдела в таблице instructor.
Создайте новый файл с именем
functionQuery.sqlв директории~/project.Откройте файл
functionQuery.sqlв текстовом редакторе и добавьте следующий SQL-запрос:SELECT dept_name AS 'dept_name', MAX(salary) AS'max_salary', MIN(salary) AS'min_salary' FROM instructor GROUP BY dept_name;Этот запрос использует функции
MAX()иMIN()для получения максимальной и минимальной зарплат для каждого отдела, а также предложениеGROUP BYдля группировки результатов по отделам.Сохраните файл
functionQuery.sql.
Выполнить запросный скрипт
В этом шаге вы научитесь выполнять скрипт functionQuery.sql в клиенте командной строки MySQL.
В терминале MySQL выполните скрипт
functionQuery.sql:SOURCE ~/project/functionQuery.sqlРезультаты запроса будут отображаться в терминале MySQL с следующими столбцами:
dept_name: название отделаmax_salary: максимальная зарплата в отделеmin_salary: минимальная зарплата в отделе
Вывод должен выглядеть примерно так:
+------------+------------+------------+
| dept_name | max_salary | min_salary |
+------------+------------+------------+
| Biology | 72000.00 | 72000.00 |
| Comp. Sci. | 92000.00 | 65000.00 |
| Elec. Eng. | 80000.00 | 80000.00 |
| Finance | 90000.00 | 80000.00 |
| History | 62000.00 | 60000.00 |
| Music | 40000.00 | 40000.00 |
| Physics | 95000.00 | 87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)
Это завершает проект. Вы успешно написали запросный скрипт для получения максимальной и минимальной зарплат для каждого отдела в таблице instructor.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
