各部门教师的薪资范围

SQLBeginner
立即练习

介绍

在本项目中,你将学习如何使用内置函数和 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 数据库中。

  1. 启动 MySQL 服务器:

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

    mysql -uroot
    
  3. edusys.sql 脚本中导入数据:

    SOURCE ~/project/edusys.sql
    

编写查询脚本

在本步骤中,你将学习如何编写查询脚本,以获取 instructor 表中每个部门的最高和最低工资。

  1. ~/project 目录中创建一个名为 functionQuery.sql 的新文件。

  2. 在文本编辑器中打开 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 子句按部门对结果进行分组。

  3. 保存 functionQuery.sql 文件。

执行查询脚本

在本步骤中,你将学习如何在 MySQL 命令行客户端中执行 functionQuery.sql 脚本。

  1. 在 MySQL 终端中,执行 functionQuery.sql 脚本:

    SOURCE ~/project/functionQuery.sql
    
  2. 查询结果将显示在 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 中练习更多实验以提升你的技能。

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