Self Join

RHCE 2009. 6. 2. 13:44

emp테이블에는 직원들의 매니저가 있는 칼럼이 있는데, 이름이 있는 것이 아니라, 사원번호로 존재한다. 매니저의 사원번호가 있는 칼럼은 mgr이다. mgr에 있는 사원번호를 토대로 empno 칼럼을 조회해서 이름을 알 수 있다. 이럴 때 같은 테이블에 있는 칼럼들이지만 조인해서 처리할 수 있는데 이렇게 조인하는 것을 Self Join이라고 한다.

Self Join은 같은 테이블에 대해 두 개의 alias를 작성(테이블 구분)함으로 FROM 절에 두 개의 테이블을 사용하는 것과 같이 한다.

SELECT worker.ename || '의 관리자는 ' || manager.ename || '이다.'
FROM emp worker, emp manager

//emp테이블 안에서 마치 두 개의 테이블이 있는 것처럼 worker와 manager로 나누었다.
WHERE worker.mgr = manager.empno;


WORKER.ENAME||'의관리자는'||MANAGER.E
-------------------------------------
SMITH의 관리자는 FORD이다.
ALLEN의 관리자는 BLAKE이다.
WARD의 관리자는 BLAKE이다.
JONES의 관리자는 KING이다.
MARTIN의 관리자는 BLAKE이다.
BLAKE의 관리자는 KING이다.
CLARK의 관리자는 KING이다.
SCOTT의 관리자는 JONES이다.
TURNER의 관리자는 BLAKE이다.
ADAMS의 관리자는 SCOTT이다.
JAMES의 관리자는 BLAKE이다.

WORKER.ENAME||'의관리자는'||MANAGER.E
-------------------------------------
FORD의 관리자는 JONES이다.
MILLER의 관리자는 CLARK이다.

[출처] Self Join|작성자 이경모


'RHCE' 카테고리의 다른 글

Default Editor 변경하기  (0) 2009.06.02
패스워드 만료 정책  (0) 2009.06.02
사용자 계정 삭제  (0) 2009.06.02
사용자를 다수의 그룹에 포함시킬 때...  (0) 2009.06.02
생성되는 사용자의 umask값 조정  (0) 2009.06.02
Posted by 으랏차
,