2개 이상의 테이블에서 조인을 걸어 데이터를 가져오려고 할때 사용하는 방법입니다만
A라는 테이블에는 데이터가 있으나, B라는 테이블의 데이터가 없는 경우에
이 두개를 조인을 걸면 데이터가 B테이블에는 없기 때문에 데이터 값이 제대로 가져오지 못하는 문제가 발생합니다.

그래서 데이터가 존재하지 않는 B 테이블에 (+) 기호를 지정하여 데이터가 존재하지 않아도
조인을 걸면 데이터들을 모두 보여주게 되는 것이죠

요즘 오라클 버전 9i 이상에서는 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이라는 문법으로 사용됩니다.

이전 사용법 :
SELECT    a.num, a.name, a.phone, b.part
FROM       USER A, OFFICE B
WHERE     a.oid(+) = b.oid

오라클 9i
SELECT    a.num, a.name, a.phone, b.part
FROM       USER A  LEFT OUTER JOIN OFFICE B
    ON   a.oid = b.oid
뭐 이런식으로 사용하면 되는데요. FROM절에 데이터가 없는 테이블의 위치에 따라서 LEFT, RIGHT OUTER JOIN이 결정되고
양쪽 모두 없을 경우에는 FULL OUTER JOIN이 됩니다

+ Recent posts