Outer JOIN 문법

최대 1 분 소요

Outer JOIN 요약

  1. 아우터 조인은 성능에 문제가 많음…
    • NESTED LOOP JOIN => 풀테이블 스켄이 각 로우마다 실행 된다.
  2. WHERE 절에서만 (+)
  3. 테이블 간 외부조인 조건이 1개 이상일 경우, 모든 외부조인 조건에 (+)
  4. 테이블 자신에 (+)를 붙일 수 없다.
  5. (+)는 컬럼에만, OR 연산자는 사용 불가.

LEFT OUTER JOIN

  • 데이터가 없는 쪽 테이블 조인 조건(WHERE 절)에 (+)를 붙여준다.(왼쪽)

RIGHT OUTER JOIN

  • 데이터가 없는 쪽 테이블 조인 조건(WHERE 절)에 (+)를 붙여준다.(오른쪽)

FULL OUTER JOIN

  • ANSI SQL 은 있음
  • ORACLE 은 LEFT , RIGHT 구해서 UNION으로 합쳐줘야함

예제 1

SELECT S.NAME "학생이름", P.NAME "교수이름"
FROM student S, professor P
WHERE S.PROFNO(+) = P.PROFNO
UNION
SELECT S.NAME "학생이름", P.NAME "교수이름"
FROM student S, professor P
WHERE S.PROFNO = P.PROFNO(+);

댓글남기기