본문 바로가기
DBMS/ORACLE

[ORACLE] 오라클_셀프조인( SELF JOIN )

by 썸머워즈 2019. 2. 22.
반응형

셀프조인(SELF JOIN)

  • 자기 조인, 자체 조인, 자기 참조 조인, 셀프 조인 등 다양한 명칭으로 불린다.
  • JOIN 대상이 나와 또 다른 나 이다. (조인 이름 그대로 나 자신과 조인하는 것이다.)
  • 자기 자신과 조인하기 때문에 컬럼명이 같아서 꼭 별칭을 해줘야 한다.

기본 사용법

-- AS는 생략이 가능하나 가독성을 위해서 붙여주는것이 좋다.
SELECT a.ename AS emp_name, b.ename AS 사원명 FROM emp a, emp b;

방식은 지금까지의 조인 방법과 동일하며, 그냥 대상이 자기자신이다.

 

* 셀프조인을 쓰는 경우는 쉽게 설명하자면 자신의 선임이 누구인가 라는식의 의문을 가져보면 된다.

군번  이름  직급 선임군번 
 14-11 테스터1  상병  13-11 
13-11  테스터2  병장  12-11 

뭐 대충 이런식으로 있다 한다면 테스터1의 선임을 알고싶으면 서브쿼리를 쓰거나 한 row를 select해서 선임 군번을 뽑아 조건 걸어 select를 해야 할텐데,

이런 경우에 self join을 쓰게되면 손쉽게 뽑아낼 수 있다.

군번  이름  직급  선임군번  군번2  이름2  직급2  선임군번2 
 14-11 테스터1  상병  13-11  13-11  테스터2  병장  12-11 

이러한 경우가 실제 현업에서 많을지는 모르겠지만 이런 상황과 비슷한 경우에 사용한다고 생각하면 된다.


반응형


댓글

TOP