메뉴 건너뛰기

tnt_db

Oracle SELF JOIN

운영자 2002.09.17 20:32 조회 수 : 3408 추천:20

SELF JOIN

1.의미 : 대체로 JOIN이라고 하면 어떤 테이블과 또 다른 테이블간을
         특정 COLUMN으로 연결하는 경우를 의미한다.
         SELF JOIN은 테이블간의 JOIN은 맞는데 다른 테이블간의 JOIN이 아니고
         같은 테이블을 마치 다른 테이블처럼 인식시켜 JOIN을 하는것이다.
         그래서 SELF JOIN에서는 테이블에 반드시 ALIAS(별명)를 사용한다.

2.구문 :
         SELECT ALIAS1.COLUMN1,ALIAS2.COLUMN2,.....
         FROM   TABLE1 ALIAS1,TABLE1 ALIAS2...
         WHERE  ALIAS1.COLUMN = ALIAS2.COLUMN

3.용도 : 특별히 어떤경우를 위해 사용해야한다는 규정은 없지만
         경험적으로 볼때
         주로 1단계 순환참조가 필요한 경우에 사용된다.

4 예제 :
         SELECT A.EMPNO 사번,  A.ENAME 사원명,
                B.EMPNO 상급자,B.ENAME 상급자명
         FROM   EMP A,EMP B
         WHERE  B.EMPNO=A.MGR

         사번       사원명     상급자     상급자명  
         ---------- ---------- ---------- ----------
               7788 SCOTT            7566 JONES    
               7902 FORD             7566 JONES    
               7499 ALLEN            7698 BLAKE    
               7521 WARD             7698 BLAKE    
               7900 JAMES            7698 BLAKE    
               7844 TURNER           7698 BLAKE    
               7654 MARTIN           7698 BLAKE    
               7934 MILLER           7782 CLARK    
               7999 TEST             7782 CLARK    
               7876 ADAMS            7788 SCOTT    
               7566 JONES            7839 KING      
               7782 CLARK            7839 KING      
               7698 BLAKE            7839 KING      
               7369 SMITH            7902 FORD
      
         각 ROW가 사번에대한 상급자 정보를 MGR에 가지고 있을경우
번호 제목 글쓴이 날짜 조회 수
46 빠진이빨찾기 II 운영자 2002.09.18 3067
45 빠진이빨찾기 운영자 2002.09.18 3122
44 순환참조에서의 상위코드로집계 운영자 2002.09.18 3226
43 CONNECT BY의 SORT와 JOIN 운영자 2002.09.18 2811
42 REPORT 양식맞추기4 운영자 2002.09.18 2597
41 REPORT 양식 맞추기 III 운영자 2002.09.18 3015
40 REPORT 양식 맞추기 II 운영자 2002.09.18 2646
39 REPORT 양식 맞추기 운영자 2002.09.18 31359
38 1:1 JOIN / 1:M JOIN 운영자 2002.09.18 3000
37 TUNING-01 운영자 2002.09.18 2739
36 소계와 합계 운영자 2002.09.18 3489
35 중복DATA 찾아내기 운영자 2002.09.17 2817
34 GROUP별 DATA 분류 운영자 2002.09.17 2982
33 PARAMETER값에 따라 변경이 일어나는 문장 운영자 2002.09.17 15808
» SELF JOIN 운영자 2002.09.17 3408
31 Outer Join 운영자 2002.09.17 2918
30 HINTS (출처-Oracle8.0 Tuning Guide) 운영자 2002.09.17 2735
29 단일행 문자 함수 운영자 2002.09.17 2977
28 단일행 수치 함수 운영자 2002.09.17 2869
27 NOT IN 의 함정 운영자 2002.09.17 2713
위로