[Oracle] 오라클 조인 방법 ANSI JOIN, Oracle Join

J._NA 개발일지·2024년 3월 15일
post-thumbnail

출처:https://gent.tistory.com/376

오라클에서 조인을 할 때 오라클 조인(Oracle join)과 안시 조인(ANSI JOIN)을 사용할 수 있다. 오라클9i 까지는 오라클 조인만 사용할 수 있으며, 오라클 10g부터는 안시 조인을 추가로 사용할 수 있다. 최근 구축되는 시스템은 대부분 안시조인을 사용하지만, 과거에 구축되어 있는 시스템은 오라클 조인을 많이 사용하고 있기 떄문에 오라클 종니 방식도 꼭 알고 있어야한다.

조인은 크게 다섯가지 정도로 분류할 수 있다. 조인(INNER JOIN), 아웃터 조인(LEFT OUTER JOIN)은 아주 많이 사용하니, ANSI JOIN과 ORACLE JOIN을 비교하여 두 가지 방식 모두 익혀 두어야 한다.

조인 (INNER JOIN)

  • 안시 조인(ANSI JOIN)

위의 예제는 EMP 테이블과 DEPT 테이블을 조인(내부조인)하여 DEPT 테이블의 DNAME(부서명)을 조회한 쿼리이다. 조인(INNER JOIN)은 메인테이블과 조인테이블에 조인 컬럼의 값이 동시에 존재해야 조회가 된다.

아우터 조인의 핵심은 메일 테이블의 데이터는 무조건 조회가 되고 조인 테이블은 참조 용도로만
사용된다.

아우터 조인 (RIGHT OUTER JOIN)

  • 안시조인

RIGHT OUTER JOIN은 LEFT OUTER JOIN과 동일한 아우터 조인이며, 다른 점은 오른쪽(RIGHT)
테이블이 메인 테이블이 된다.

DEPT 테이블이 메인 테이블이기 때문에 DEPT테이블의 모든 데이터가 조회되고 EMP 테이블은 참조용도로만 사용된다. 메인 테이블의 위치만 바뀌었을 뿐, LEFT OUTER JOIN과 조인 방법은 동일하다. 특별한 경우가 아니면 RIGHT OUTER JOIN은 사용하지 않는 것이 차

아우터 조인 (FULL OUTER JOIN)

FULL OUTER JOIN은 두개의 테이블을 합쳐서 조회한다고 생각하면 된다. JOIN이 될 경우
해당값을 표시하고 JOIN이 안되면 NULL로 표시하되 두개의 테이블 모든 데이터가 조회된다.
크로스 조인은 기준 테이블(emp)의 행을 조인 테이블(dept) 행만큼 증가를 시킨다.

profile
아밥 & 프론트엔드 개발자

0개의 댓글