4、列出受雇日期早于其直接上級的所有員工的編號七嫌、姓名少办、部門名稱、部門位置诵原、部門人數(shù)英妓。
◆確定要使用的數(shù)據(jù)表:
●emp表:編號、姓名绍赛。
●emp表:找到領(lǐng)導(dǎo)的雇傭日期蔓纠。
●dept表:部門名稱、部門位置吗蚌。
●emp表:統(tǒng)計(jì)出部門人數(shù)腿倚。
◆確定已知的關(guān)聯(lián)字段:
●雇員和領(lǐng)導(dǎo):emp.mgr = memp.empno
●雇員和部門:emp.deptno = dept.deptno
第一步:實(shí)現(xiàn)emp表的自身關(guān)聯(lián),找到受雇日期早于其直接上級的所有員工的編號蚯妇、姓名
SELECT e.empno, e.ename
FROM emp e, emp m
WHERE e.mgr=m.empno(+)
AND e.hiredate
第二步:找到部門信息
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 ;
第三步:在FROM子句里面統(tǒng)計(jì)出部門人數(shù)
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 ;