본문 바로가기

Oracle/Oracle Programming

[Oralce] SELF JOIN

반응형

■ SELF JOIN

 -. 테이블 1개를 마치 2개처럼 나누어 조인한다.
 -. FROM 절에 같은 테이블 이름을 두 번 반복하게 되므로 반드시 테이블 별칭을 사용해야 한다.


특정 사원의 매니저가 누구인지 알아내기 위한 예제

SQL> SELECT employee.ename || '의 매니저는 ' || manager.ename || '입니다.'

         FROM emp employee, emp manager

         WHERE employee.mgr = manager.empno;

풀이)

 -. 질의를 살펴보면, emp 테이블을 employee manager라는 별칭으로 지정해서 마치 두 개의 테이블인양 사용하고 있다.

 -. 특정 사원(employee.ename)의 매니저에 대한 정보는 mgr 컬럼(employee.mgr)에 등록되어 있다.

 -. mgr 컬럼은 사번으로 사원 테이블에서 해당 사번(manager.empno)으로 매니저의 이름(manager.ename)을 알아내야 한다.

 -. 넓게 봤을 때 위에 예는 EMP 테이블이 두개 인것처럼 사용하는 SELF JOIN 이면서 또한 조인 조건으로 동등(=) 연산을 사용하므로

    EQUI JOIN 이기도 하다.



 


반응형

'Oracle > Oracle Programming' 카테고리의 다른 글

[Oracle] 조인 예제  (3) 2012.11.28
[Oracle] OUTER JOIN  (0) 2012.11.28
[Oracle] NON-EQUI JOIN  (0) 2012.11.28
[Oracle] EQUI JOIN  (0) 2012.11.27
[Oracle] 조인의 기본 개념  (0) 2012.11.27