MySQL 数据分析

SQLBeginner
立即练习

介绍

在本项目中,你将学习如何使用 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)

🎯 任务

在本项目中,你将学习:

  • 如何使用 sudo 命令无密码访问 MySQL
  • 如何将 SQL 文件中的数据导入 MySQL 数据库
  • 如何编写 SQL 查询,以检索平均工资为 2000 或更高的部门的部门编号、最高工资、最低工资和平均工资,并按部门编号降序排序结果

🏆 成果

完成本项目后,你将能够:

  • 理解如何使用 MySQL 的内置函数执行复杂的数据分析
  • 编写 SQL 查询以从关系数据库中检索和操作数据
  • 应用你的 SQL 知识解决实际的数据管理问题

访问 MySQL 并导入数据

在本步骤中,你将学习如何使用 sudo 命令无密码访问 MySQL,并将 /home/labex/project/personnel.sql 中的数据导入 MySQL。

  1. 启动 MySQL 服务:
sudo service mysql start
  1. 使用 sudo 命令访问 MySQL:
sudo mysql
  1. /home/labex/project/personnel.sql 中的数据导入 MySQL 并切换到 personnel 数据库:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
✨ 查看解决方案并练习

编写 SQL 查询

在本步骤中,你将学习如何编写 SQL 查询,以便从 personnel 数据库的 emp 表中检索相关信息。

  1. 打开 multiple_line_function.sql 文件。
  2. 将以下 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 查询。

  1. 打开 MySQL 提示符:
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;

这将执行 SQL 查询并在 MySQL 提示符中显示结果。

输出应类似于以下内容:

+---------------+------------+------------+-------------+
| 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 中练习更多实验来提升你的技能。