如何使用 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 语句使用了以下几个关键步骤:

  1. JOIN 子句:将部门表 (Department) 和员工表 (Employee) 连接起来,根据部门编号 (department_id) 关联对应的信息。
  2. COUNT 函数:统计每个部门中满足条件的员工人数,这里使用 COUNT(*) 统计所有满足条件的员工记录。
  3. GROUP_CONCAT 函数:将每个部门中所有满足条件的员工姓名拼接起来,使用 GROUP_CONCAT(e.name) 将姓名合并成一个字符串。
  4. WHERE 子句:筛选出性别为 '女' 的员工,确保查询结果只包含中文员工。
  5. GROUP BY 子句:将结果按照部门编号 (d.id) 进行分组,以便统计每个部门的信息。

执行该 SQL 语句后,将得到一个表格,其中每行包含一个部门的名称、中文员工人数和所有中文员工的姓名。

如何使用 SQL 查询部门名称、中文员工人数和所有中文员工姓名

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

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