728x90
반응형
Self Join 이란, 자기 자신과 Join 하는 것이다.
어떤 경우에서 Self join 을 사용하는지를 알아보자.
위 사진은 emp 테이블을 출력한 것이다.
여기서, 매니저 사번, 매니저명, 부하직원사번, 부하직원명을 매니저사번별로 출력하려면 어떻게 해야할까?
예를 들어서, SMITH 의 매니저는 MGR 컬럼번호 7902를 가지고 있는 FORD 가 될 것이다.
ALLEN 의 매니저는 7698 이라는 mgr 번호를 가진 BLAKE 가 될것이고.
이럴 때 self join 을 이용하여 마치
mgr 컬럼을 가지고 있는 테이블이 하나 존재하는 것 마냥 쿼리를 짜주면 된다.
select e1.mgr, e2.ename, e1.empno, e1.ename
from emp e1 join emp e2 on e1.mgr=e2.empno;
from 뒤에 테이블이 두 개가 온다는 것이 self join 의 특징이다.
이때 유의해야할 점은, e1 e2 처럼 이름을 반드시 정해줘야한다는 것이다.
위 쿼리문을 출력한 결과는 아래 그림과 같다.
728x90
반응형
'Archive > Develop' 카테고리의 다른 글
[ Oracle ] oracle 에서 기본으로 제공해주는 HR 스키마를 가지고 활용해보자! (0) | 2021.03.29 |
---|---|
[ CodeUp ] 1차원 배열 | 1412 번 풀이 (0) | 2021.03.29 |
[ CodeUp ] 1차원 배열 | 1411 번 풀이 (0) | 2021.03.29 |
[ CodeUp ] 1차원 배열 | 1410 번 풀이 (0) | 2021.03.29 |
[ CodeUp ] 1차원 배열 | 1407 번 풀이 (0) | 2021.03.29 |