我有两个表:员工和部门
我需要一个查询,即使某个部门的员工人数为零,也会提取部门名称和每个部门的员工人数。
我尝试了下面的查询,但它只返回那些员工人数超过零的部门。
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;
请帮忙。
答案 0 :(得分:1)
您需要外部加入表格。
FROM department d
LEFT JOIN employee e
ON d.DEPT_ID=e.DEPT_ID
答案 1 :(得分:0)
以下查询给出了所需的结果。
SELECT DEPARTMENT.NAME,COUNT(EMPLOYEE.DEPT_ID) 来自DEPARTMENT LEFT OUTER EMPLOYEE EMPLOYEE.DEPT_ID = DEPARTMENT.DEPT_ID GROUP BY DEPARTMENT.NAME;