SQL语句查询4

SQL语句查询4_第1张图片

4、列出受雇日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。

◆确定要使用的数据表:

●emp表:编号、姓名。

●emp表:找到领导的雇佣日期。

●dept表:部门名称、部门位置。

●emp表:统计出部门人数。

◆确定已知的关联字段:

●雇员和领导:emp.mgr = memp.empno

●雇员和部门:emp.deptno = dept.deptno

第一步:实现emp表的自身关联,找到受雇日期早于其直接上级的所有员工的编号、姓名

SELECT e.empno, e.ename

FROM emp e, emp m

WHERE e.mgr=m.empno(+)

AND e.hiredate

SQL语句查询4_第2张图片

第二步:找到部门信息

SELECT e.empno, e.ename, d.dname, d.loc

FROM emp e, emp m, dept d

WHERE e.mgr=m.empno(+)

AND e.hiredate

AND e.deptno=d.deptno ;

SQL语句查询4_第3张图片

第三步:在FROM子句里面统计出部门人数

SELECT e.empno, e.ename, d.dname, d.loc,temp.count

FROM emp e, emp m, dept d, (

SELECT deptno dno, COUNT(empno) count FROM emp GROUP BY deptno) temp

WHERE e.mgr=m.empno(+)

AND e.hiredate

AND e.deptno=d.deptno

ANDtemp.dno=d.deptno ;

SQL语句查询4_第4张图片

你可能感兴趣的:(SQL语句查询4)