[Oracle] 오라클 여러개 테이블 ANSI JOIN 방법 (안시 조인)

오라클 9i 버전부터 ANSI JOIN을 지원하기 시작했다. 그렇지만 아직까지 오라클 데이터베이스를 사용하는 많은 시스템에서 ANSI JOIN을 사용하지 않고 오라클 방식의 조인을 사용하여 쿼리문을 작성하고 있다.

 

ANSI JOIN에 익숙하지 않으면 쿼리문을 작성할 때 헷갈리는 부분이 많이 발생한다. 2개의 테이블을 조인하는 예제는 많지만, 3개 이상의 테이블을 조인하는 예제가 많이 없어서 간단히 정리한 내용이다.

 

오라클 ANSI JOIN

SELECT a.empno
     , a.ename
     , a.deptno
     , b.dname
     , b.locno
     , c.lname
  FROM emp a
 INNER JOIN dept b
    ON a.deptno = b.deptno
 INNER JOIN loc c
    ON b.locno = c.locno
 WHERE a.sal >= 2000

 

조인 컬럼이 2개 이상이라면 " ON (a.deptno = b.deptno AND a.locno = b.locno) " 로 AND 키워드를 사용하여 작성할 수 있다.

 

쿼리문의 테이블 위치와 상관없이 A테이블과 B테이블, A테이블과 C테이블 조인이 가능하다. ON 절에 조인 할 컬럼만 명확히 명시하면 된다.

 

INNER JOIN (조인), LEFT(RIGHT) OUTER JOIN (아우터 조인) 모두 여러개의 테이블 조인이 가능하다.

 

사용_예제_쿼리.txt
0.01MB

 

사용 예제

예제1 - 3개의 테이블을 조인 하는 방법

 

 

예제2 - 4개의 테이블은 조인 하는 방법

 

 

예제3 - INNER JOIN은 INNER 키워드를 생략 가능

 

 

예제4 - ANSI OUTER JOIN (아우터 조인) 예제

 

 

아직 감이 오지 않는다면 위의 예제 쿼리문이 첨부되어 있으면 꼭 다운로드해서 실행해 보긴 바랍니다.

 

[Oracle] 오라클 조인 방법 쉽게 설명 (ANSI JOIN, Oracle Join)

오라클에서 조인을 할 때 오라클 조인(Oracle Join)과 안시 조인(ANSI JOIN)을 사용할 수 있다. 오라클 9i 까지는 오라클 조인만 사용할 수 있으며, 오라클 10g부터는 안시 조인을 추가로 사용할 수 있다.

gent.tistory.com

 

댓글

Designed by JB FACTORY