첨부파일에 올린 사진처럼 생긴 테이블이 있습니다.
여기서 EMPNO는 사원번호, MGR은 매니저(직속상관)의 사원번호입니다.
이럴때 셀프조인을 이용해서 매니저가아닌(부하직원이 없는) 사원을 보이려고 할 때
어떻게 해야 할 지 감도 못잡겠습니다.
매니저와 그 부하직원을 구하는건 매우 쉬운데 그 반대는 왜 못하겠죠 ㅠㅠ
밑에는 매니저와 부하직원/ 부하직원의 수 구한 예문입니다
SELECT m.ename
FROM emp m
LEFT OUTER JOIN emp e
ON m.empno = e.mgr
WHERE e.mgr IS NULL
;
SELECT m.ename
FROM emp m
WHERE m.empno NOT IN (SELECT mgr FROM emp WHERE mgr IS NOT NULL)
;
SELECT m.ename
FROM emp m
WHERE NOT EXISTS (SELECT 1 FROM emp e WHERE e.mgr = m.empno)
;
감사합니다! 사실 아직 조인을 제대로 배우질 않아서 아우터 조인을 활용할 줄 몰랐네요..ㅎㅎ