Self Join
SELF JOIN이란, 말 그대로 자기 자신과 조앤을 맺는 것
1 2 3 | select e1.ename, e2.sal from emp e1, emp e2 where e1.empno = e2.empno; select ename, sal from emp; | cs |
똑같은 결과가 나오는데 왜 하는 것일까?
다음은 EMP 테이블의 내용이다.
여기서 SMITH 사원의 매니저(MRG)가 누군지 알고 싶을 때,
1행의 MGR칼럼의 값을 보면 7902이며, 12행의 EMPNO칼럼의 값과 동일한 것을 알 수 있다.
이렇듯, SMITH 사원의 매니저는 FORD라는 것을 알 수 있었고, 같은 테이블에 존재 하기 때문에 필요한 것이 SELF JOIN이다.
(한 테이블을 두개의 테이블 처럼 EQUI JOIN으로 조회 할 수 있다)
1 | SELECT e1.ename, e2.ename FROM emp e1, emp e2 WHERE e1.mgr=e2.empno AND e1.ename ='SMITH'; | cs |
'DATABASE > ORACLE' 카테고리의 다른 글
[Oracle] SQL 서브쿼리 (2) | 2018.04.21 |
---|---|
[Oracle] SQL Outer Join / ANSI Join (1) | 2018.04.20 |
[Oracle] SQL JOIN (0) | 2018.04.20 |
[Oracle] SQL HAVING (1) | 2018.04.20 |
[Oracle] SQL GROUP BY 절 (0) | 2018.04.20 |