2개 이상의 테이블에서 조인을 걸어 데이터를 가져오려고 할때 사용하는 방법입니다만
A라는 테이블에는 데이터가 있으나, B라는 테이블의 데이터가 없는 경우에
이 두개를 조인을 걸면 데이터가 B테이블에는 없기 때문에 데이터 값이 제대로 가져오지 못하는 문제가 발생합니다.
그래서 데이터가 존재하지 않는 B 테이블에 (+) 기호를 지정하여 데이터가 존재하지 않아도
조인을 걸면 데이터들을 모두 보여주게 되는 것이죠
요즘 오라클 버전 9i 이상에서는 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이라는 문법으로 사용됩니다.
이전 사용법 :
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
WHERE a.oid(+) = b.oid
오라클 9i
SELECT a.num, a.name, a.phone, b.part
FROM USER A LEFT OUTER JOIN OFFICE B
FROM USER A LEFT OUTER JOIN OFFICE B
ON a.oid = b.oid
뭐 이런식으로 사용하면 되는데요. FROM절에 데이터가 없는 테이블의 위치에 따라서 LEFT, RIGHT OUTER JOIN이 결정되고
양쪽 모두 없을 경우에는 FULL OUTER JOIN이 됩니다
양쪽 모두 없을 경우에는 FULL OUTER JOIN이 됩니다
'개발 세발 창고' 카테고리의 다른 글
iframe 내 페이지 높이에 맞게 자동 조절하기 (0) | 2009.04.06 |
---|---|
Jakarta POI(Excel 파일 DB에 올리기 위한 방법) (0) | 2009.03.31 |
SQL COUNT 함수의 리턴 타입 (0) | 2009.03.25 |
IBM x3500 오류 (0) | 2009.03.18 |
jsp에서 request parameter 명과 값이 넘어오지 않는 문제 (0) | 2009.03.10 |