개발 지식/[DBMS] Oracle

[Oracle] JOIN(3) - 비등가 조인(NON-EQUI JOIN), 자체 조인(SELF JOIN)

devGSP 2022. 5. 30. 08:00
반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다.

Java(TM) 플랫폼 : 1.8.0_321
Oracle IDE : 4.1.5.21.78

 

비등가 조인(NON-EQUI JOIN), 자체 조인(SELF JOIN)

 

설명

 

비등가 조인(NON-EQUI JOIN) : 등가 조인 외의 조인 방식

자체 조인(SELF JOIN) : 하나의 테이블을 여러 개의 테이블처럼 활용하여 조인하는 조인 방식

 

 

사용 예시

-- query1 (NON-EQUI JOIN)
SELECT *
  FROM EMP E, SALGRADE S
 WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;
 
-- query2 (SELF JOIN)
 SELECT E1.EMPNO
     , E1.ENAME
     , E1.MGR
     , E2.EMPNO AS MGR_EMPNO
     , E2.ENAME AS MGR_ENAME
  FROM EMP E1, EMP E2
 WHERE E1.MGR = E2.EMPNO;

 

결과

 

-- query1 (NON-EQUI JOIN)


SELECT *
  FROM EMP E, SALGRADE S
 WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;

join3_q1



-- query2 (SELF JOIN)


 SELECT E1.EMPNO
     , E1.ENAME
     , E1.MGR
     , E2.EMPNO AS MGR_EMPNO
     , E2.ENAME AS MGR_ENAME
  FROM EMP E1, EMP E2
 WHERE E1.MGR = E2.EMPNO;

join3_q2

반응형