셀프 조인(SELF JOIN)
셀프 조인이란? 동일 테이블 사이의 조인을 뜻한다.
따라서 FROM 절에 동일 테이블이 나오며, 두 테이블을 조인 하면 테이블과 컬럼 이름이 모두 동일하기에
무조건 테이블 별칭(Alias)를 사용해야 한다. 컬럼 또한 테이블 별칭을 달아줘 어떤 테이블의 컬럼인지 식별해줘야 한다.
셀프조인을 사용 하는 예시를 통해 알아 보도록 하겠다.
테이블
셀프 조인
SELECT 사원1.사원이름 AS 사원이름
, 사원1.직급 AS 사원직급
,사원1.직속상관 AS 직속상관
,사원2.직급 AS 직속상관직급
,사원2.직속상관 AS 차상위_직속상관
,사원3.직급 AS 차상위_직속상관_직급
,사원1.월급 AS 월급
FROM 사원 사원1, 사원 사원2 , 사원 사원3
WHERE 사원1.직속상관 = 사원2.사원이름 AND 사원2.직속상관 = 사원3.사원이름
ORDER BY 월급 DESC;
사원 테이블끼리 셀프 조인을 해줘서, 사원의 직속상관뿐 아니라 차상위 직속상관까지 구할 수 있다.
여기서 차상위 직속상관의 직급까지 구해주기 위하여 한번더 셀프조인을 수행함으로
사원, 직속상관, 차상위 직속상관의 이름과 직급까지 구할 수 있었다.