各部门平均工资

SQLBeginner
立即练习

介绍

在本项目中,你将学习如何使用 SQL 查询计算数据库中每个部门的平均工资,并按降序显示结果。

👀 预览

MariaDB [edusys]> SOURCE ~/project/singleTableQuery.sql
+------------+--------------+
| dept_name  | avg_salary   |
+------------+--------------+
| 物理       | 91000.000000 |
| 金融       | 85000.000000 |
| 电子工程     | 80000.000000 |
| 计算机科学   | 77333.333333 |
| 生物学     | 72000.000000 |
| 历史       | 61000.000000 |
| 音乐       | 40000.000000 |
+------------+--------------+
7 rows in set (0.001 sec)

🎯 任务

在本项目中,你将学习:

  • 如何启动 MySQL 服务器并导入数据库
  • 如何编写 SQL 查询按部门对数据进行分组并计算平均工资
  • 如何根据平均工资按降序对结果进行排序

🏆 成果

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

  • 理解如何使用 SQL 的 SELECTFROMWHEREGROUP BYORDER BY 子句进行数据分析
  • 实现一个 SQL 查询,以降序计算并显示每个部门的平均工资
  • 应用你的 SQL 知识解决实际的数据分析问题

启动 MySQL 并导入数据库

在本步骤中,你将学习如何启动 MySQL 服务器并将 edusys.sql 数据库导入到 MySQL 中。

  1. 在你的系统上打开一个终端。

  2. 启动 MySQL 服务器:

    sudo /etc/init.d/mysql start
    
  3. 登录到 MySQL 终端:

    mysql -uroot
    
  4. 导入 edusys.sql 数据库:

    SOURCE ~/project/edusys.sql
    

编写 SQL 查询

在本步骤中,你将编写 SQL 查询来计算每个部门的平均工资,并按降序显示结果。

  1. 打开一个文本编辑器,并在 ~/project 目录中创建一个名为 singleTableQuery.sql 的新文件。

  2. 将以下 SQL 查询添加到文件中:

    SELECT dept_name, AVG(salary) AS avg_salary
    FROM instructor
    GROUP BY dept_name
    ORDER BY avg_salary DESC;
    

    此查询将:

    • 选择 dept_name 和平均工资(AVG(salary))作为 avg_salary
    • dept_name 对结果进行分组。
    • avg_salary 降序对结果进行排序。
  3. 保存 singleTableQuery.sql 文件。

运行 SQL 查询

在本步骤中,你将运行在上一步中创建的 SQL 查询。

  1. 在 MySQL 终端中,运行以下命令来执行 singleTableQuery.sql 脚本:

    SOURCE ~/project/singleTableQuery.sql
    
  2. 查询结果将显示在终端中,按降序显示每个部门的平均工资。

    +------------+--------------+
    | dept_name  | avg_salary   |
    +------------+--------------+
    | 物理       | 91000.000000 |
    | 金融       | 85000.000000 |
    | 电子工程     | 80000.000000 |
    | 计算机科学   | 77333.333333 |
    | 生物学     | 72000.000000 |
    | 历史       | 61000.000000 |
    | 音乐       | 40000.000000 |
    +------------+--------------+
    7 rows in set (0.001 sec)
    

恭喜!你已通过编写和运行 SQL 查询以降序显示每个部门的平均工资,成功完成了该项目。

总结

恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验以提升你的技能。

✨ 查看解决方案并练习✨ 查看解决方案并练习✨ 查看解决方案并练习