介绍
在本项目中,你将学习如何使用内置函数和 SQL 查询来获取 MySQL 数据库中每个部门的最高和最低工资。
👀 预览
MySQL [edusys]> SOURCE ~/project/functionQuery.sql;
+------------+------------+------------+
| dept_name | max_salary | min_salary |
+------------+------------+------------+
| 生物学 | 72000.00 | 72000.00 |
| 计算机科学 | 92000.00 | 65000.00 |
| 电气工程 | 80000.00 | 80000.00 |
| 金融 | 90000.00 | 80000.00 |
| 历史 | 62000.00 | 60000.00 |
| 音乐 | 40000.00 | 40000.00 |
| 物理学 | 95000.00 | 87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)
🎯 任务
在本项目中,你将学习:
- 如何启动 MySQL 服务器并将数据导入数据库
- 如何编写 SQL 查询来获取每个部门的最高和最低工资
- 如何在 MySQL 命令行客户端中执行 SQL 查询脚本
🏆 成果
完成本项目后,你将能够:
- 理解如何使用 MySQL 内置函数(如
MAX()和MIN())来检索数据 - 编写 SQL 查询以根据特定条件对数据进行分组和聚合
- 在 MySQL 命令行客户端中执行 SQL 脚本
- 应用所学知识解决实际数据分析问题
启动 MySQL 并导入数据
在本步骤中,你将学习如何启动 MySQL 服务器,并将 edusys.sql 脚本中的数据导入到 MySQL 数据库中。
启动 MySQL 服务器:
sudo /etc/init.d/mysql start登录到 MySQL 终端:
mysql -uroot从
edusys.sql脚本中导入数据:SOURCE ~/project/edusys.sql
编写查询脚本
在本步骤中,你将学习如何编写查询脚本,以获取 instructor 表中每个部门的最高和最低工资。
在
~/project目录中创建一个名为functionQuery.sql的新文件。在文本编辑器中打开
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文件。
执行查询脚本
在本步骤中,你将学习如何在 MySQL 命令行客户端中执行 functionQuery.sql 脚本。
在 MySQL 终端中,执行
functionQuery.sql脚本:SOURCE ~/project/functionQuery.sql查询结果将显示在 MySQL 终端中,包含以下列:
dept_name:部门名称max_salary:该部门的最高工资min_salary:该部门的最低工资
输出应类似于以下内容:
+------------+------------+------------+
| dept_name | max_salary | min_salary |
+------------+------------+------------+
| 生物学 | 72000.00 | 72000.00 |
| 计算机科学 | 92000.00 | 65000.00 |
| 电气工程 | 80000.00 | 80000.00 |
| 金融 | 90000.00 | 80000.00 |
| 历史 | 62000.00 | 60000.00 |
| 音乐 | 40000.00 | 40000.00 |
| 物理学 | 95000.00 | 87000.00 |
+------------+------------+------------+
7 rows in set (0.001 sec)
本项目至此完成。你已成功编写了一个查询脚本,用于获取 instructor 表中每个部门的最高和最低工资。
总结
恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验以提升你的技能。
