如何使用 SQL 查询部门名称、中文员工人数和所有中文员工姓名
如何使用 SQL 查询部门名称、中文员工人数和所有中文员工姓名
假设数据库中有两个表:部门表 (Department) 和员工表 (Employee)。
部门表包含以下字段:
- id: 部门编号
- name: 部门名称
员工表包含以下字段:
- id: 员工编号
- name: 员工姓名
- gender: 员工性别
- department_id: 所属部门编号
可以使用以下 SQL 语句查询部门名称、中文员工人数和所有中文员工的姓名:
SELECT d.name AS '部门名称', COUNT(*) AS '中文员工人数', GROUP_CONCAT(e.name) AS '所有中文员工姓名'
FROM Department d
JOIN Employee e ON d.id = e.department_id
WHERE e.gender = '女'
GROUP BY d.id;
该 SQL 语句使用了以下几个关键步骤:
- JOIN 子句:将部门表 (Department) 和员工表 (Employee) 连接起来,根据部门编号 (department_id) 关联对应的信息。
- COUNT 函数:统计每个部门中满足条件的员工人数,这里使用
COUNT(*)统计所有满足条件的员工记录。 - GROUP_CONCAT 函数:将每个部门中所有满足条件的员工姓名拼接起来,使用
GROUP_CONCAT(e.name)将姓名合并成一个字符串。 - WHERE 子句:筛选出性别为 '女' 的员工,确保查询结果只包含中文员工。
- GROUP BY 子句:将结果按照部门编号 (d.id) 进行分组,以便统计每个部门的信息。
执行该 SQL 语句后,将得到一个表格,其中每行包含一个部门的名称、中文员工人数和所有中文员工的姓名。
原文地址: https://www.cveoy.top/t/topic/nxi0 著作权归作者所有。请勿转载和采集!