我有两个表:员工和部门
- 员工字段:id, name, dept_id
- 部门字段:dept_id, name
我需要一个查询,它获取部门名称和每个部门的员工人数,即使一个部门的员工人数为零。
我尝试了下面的查询,但它只返回员工人数大于0的部门。
select d.name, count(e.id) as "Number of employees per department"
from department d, employee e
where d.DEPT_ID=e.DEPT_ID
group by d.name
order by count(e.id) desc;
请帮。
你需要外部连接你的表。
FROM department d
LEFT JOIN employee e
ON d.DEPT_ID=e.DEPT_ID
下面的查询给出了期望的结果。
选择DEPARTMENT.NAME, COUNT (EMPLOYEE.DEPT_ID)从部门左外部加入员工到员工。Dept_id = department。Dept_id按部门分组。名称;