mysql join 기초 예제입니다 특정 컬럼에 속하지 않는 요소들만 뽑아내고 싶습니다. 1

by Bru [MySQL] [2022.04.10 04:54:29]


첨부파일에 올린 사진처럼 생긴 테이블이 있습니다.

여기서 EMPNO는 사원번호, MGR은 매니저(직속상관)의 사원번호입니다.

이럴때 셀프조인을 이용해서 매니저가아닌(부하직원이 없는) 사원을 보이려고 할 때

어떻게 해야 할 지 감도 못잡겠습니다.

매니저와 그 부하직원을 구하는건 매우 쉬운데 그 반대는 왜 못하겠죠 ㅠㅠ

밑에는 매니저와 부하직원/ 부하직원의 수 구한 예문입니다

by 마농 [2022.04.10 13:25:18]
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)
;

 


by Bru [2022.04.11 11:05:45]

감사합니다! 사실 아직 조인을 제대로 배우질 않아서 아우터 조인을 활용할 줄 몰랐네요..ㅎㅎ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입