반응형
셀프조인(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 |
이러한 경우가 실제 현업에서 많을지는 모르겠지만 이런 상황과 비슷한 경우에 사용한다고 생각하면 된다.
반응형
댓글