SQL 查询每个部门信息:部门编号、名称、位置和人数

在数据库管理中,常常需要从多个表中获取信息,例如查询每个部门的部门编号、部门名称、部门位置和部门人数。这需要使用 SQL 的联合查询,将多个表连接起来,并根据需要进行统计和分组。

示例:

假设存在以下两张表:

  1. 部门信息表(Department):

| 部门编号 | 部门名称 | 部门位置 | |---------|----------|---------| | 001 | '研发部' | '北京' | | 002 | '销售部' | '上海' | | 003 | '人事部' | '广州' |

  1. 员工信息表(Employee):

| 员工编号 | 员工姓名 | 部门编号 | |---------|----------|---------| | 001 | '张三' | 001 | | 002 | '李四' | 001 | | 003 | '王五' | 002 | | 004 | '赵六' | 003 | | 005 | '钱七' | 003 |

可以使用以下 SQL 语句进行联合查询:

SELECT Department.部门编号, Department.部门名称, Department.部门位置, COUNT(Employee.员工编号) AS 部门人数
FROM Department LEFT JOIN Employee
ON Department.部门编号 = Employee.部门编号
GROUP BY Department.部门编号, Department.部门名称, Department.部门位置;

解释:

  • 使用 LEFT JOIN 连接 Department 表和 Employee 表,以保证查询结果中包含所有部门信息,即使部门中没有员工。
  • SELECT 语句中使用 COUNT(Employee.员工编号) 统计每个部门的员工人数。
  • 使用 GROUP BY 对每个部门的部门编号、部门名称、部门位置进行分组,以便统计每个部门的员工人数。

查询结果如下:

| 部门编号 | 部门名称 | 部门位置 | 部门人数 | |---------|----------|---------|----------| | 001 | '研发部' | '北京' | 2 | | 002 | '销售部' | '上海' | 1 | | 003 | '人事部' | '广州' | 2 |

通过以上 SQL 语句,我们可以轻松地从多个表中获取每个部门的信息,并进行统计分析。

注意事项:

  • LEFT JOIN 操作保证了查询结果中包含所有部门信息,即使部门中没有员工。
  • GROUP BY 操作将相同部门的信息进行分组,并统计每个部门的员工人数。
  • COUNT() 函数用于统计每个部门的员工人数。

希望本文能够帮助您理解 SQL 查询中如何使用 LEFT JOINGROUP BY 进行联合查询和统计分析,并能够应用到实际工作中。

SQL 查询每个部门信息:部门编号、名称、位置和人数

原文地址: https://www.cveoy.top/t/topic/otqV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录