sql 员工表和部门表问题

2025-12-16 15:16:09
推荐回答(3个)
回答1:

select dept.did,dept.name,count(emp.id)
from dept
join emp on emp.deptid=dept.id
group by dept.did,dept.name

把join 改为left join 就能查出0人的部门

回答2:

select 部门字段, count(*) from emp,dept where emp.name=dept.name group by 部门字段

回答3:

Try this!

select dept.name,(case when ct is null then 0 else then ct end) dept_member_ct from
dept left join
(select deptid,count(*) ct from emp group by deptid) AAA
on dept.did=AAA.deptid;

----
(case when ct is null then 0 else then ct end)这一句就是解决"部门没有人,结果是0"的问题的。