假设有两个表,一个是部门表(departments),包含部门ID(dept_id)和部门名称(dept_name),另一个是员工表(employees),包含员工ID(emp_id)和所属部门ID(dept_id)。
下面是一个MySQL的查询示例,用于显示每个部门的部门名称和员工人数,如果员工不存在,则将人数显示为0:
SELECT d.dept_name, COUNT(e.emp_id) AS employee_count
FROM departments d
LEFT JOIN employees e ON d.dept_id = e.dept_id
GROUP BY d.dept_id, d.dept_name;
这里使用了LEFT JOIN来连接部门表和员工表,以确保所有部门都被包含在结果中,即使没有对应的员工记录。然后使用COUNT函数来计算每个部门的员工人数,并将结果命名为employee_count。最后使用GROUP BY来按部门ID和部门名称对结果进行分组。
如果某个部门没有员工记录,则COUNT函数会返回0,因此即使没有员工的部门也会在结果中显示,并且员工人数为0。
请根据你的具体数据库系统和表结构进行适当的修改和调整。