弱问:部门,人员两张表,如何知道某个部门下面是否有人?
部门(Dept):
id,pid,Dname,des
员工(Pern):
id,deptid,Rname,rsex,...——其中deptid是部门id 。
有些部门设置,不包含人员信息,怎么查询出来是哪个部门?
谢谢大家。
[解决办法]
- SQL code
select Dname from Dept,pern where pern.Rname='张三' and Dept.id=pern.deptid
[解决办法]
如果部门有层次结构
select * from Pern P inner join (
select d1.* from Dept T1 inner join Dept D2
on D1.id = d2.pid) TT
on p.Deptid = TT.ID
如果没有
select * from Pern p inner join dept d on p.deptid = d.id
[解决办法]
select * from Dept where id not in (select distinct deptid from Pern)