oracle

오라클7 (JOIN2)

킹차니 2021. 3. 20. 16:03

SELF JOIN: 셀프 조인은 자기 테이블이 자기 자신을 참조해야 할 때 사용한다.

만약 회사의 멤버 테이블이 있고 각 멤버 테이블의 보스 이름을 알고 싶다면?

다음과 같은 테이블이 있다고 가정하자.

MEMBER 테이블

여기서 BOSS_ID가 곧 MEMBER.ID이다 이때 테이블 자신이 자신을 참조하는 것이다. 이제 각각의 멤버들의 보스 이름을 연결하기 위해 

SELF JOIN을 사용해보자.

SELECT M.*, B.NAME BOSS_NAME
FROM MEMBER M LEFT OUTER JOIN MEMBER B ON B.ID = M.BOSS_ID;

따로 SELF JOIN의 쿼리문이 있는 것이 아니다. 모든 JOIN은 INNER JOIN과 OUTER JOIN으로 나뉜다. 이 둘을 사용해서 다른 조인들을 구현하는 것이다.

SELF JOIN은 자기가 자기 자신을 JOIN할 때 SELF JOIN이라고 한다. 

위 쿼리의 결과로 아래의 테이블이 완성된다.

SELF JOIN한 테이블