SQL 查询每个部门信息:部门编号、名称、位置和人数
SQL 查询每个部门信息:部门编号、名称、位置和人数
在数据库管理中,常常需要从多个表中获取信息,例如查询每个部门的部门编号、部门名称、部门位置和部门人数。这需要使用 SQL 的联合查询,将多个表连接起来,并根据需要进行统计和分组。
示例:
假设存在以下两张表:
- 部门信息表(Department):
| 部门编号 | 部门名称 | 部门位置 | |---------|----------|---------| | 001 | '研发部' | '北京' | | 002 | '销售部' | '上海' | | 003 | '人事部' | '广州' |
- 员工信息表(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 JOIN 和 GROUP BY 进行联合查询和统计分析,并能够应用到实际工作中。
原文地址: https://www.cveoy.top/t/topic/otqV 著作权归作者所有。请勿转载和采集!