본문 바로가기
CS/데이터베이스

[Oracle] 여러 테이블 데이터 조인 (LEFT/RIGHT OUTER JOIN)

by 김크롱 2020. 9. 14.

여러 테이블 데이터 조인 (LEFT/RIGHT OUTER JOIN)

: 조인 조건이 되지 않는 데이터 출력

- ANSI/ISO SQL:1999 standards

 

SELECT t1.column1 as nickname1, t1.column2 as nickname2, t1.column3 as nickname3,
        t2.column4 as nickname4
    FROM tablename1 t1 RIGHT OUTER JOIN tablename2 t2
    ON (t1.column5 = t2.column5);

: t2 테이블의 데이터는 모두 출력됨

- 조건에 맞지 않는 t2에 대응하는 t1은 NULL로 출력

 

 

오라클 OUTER JOIN과 ANSI/ISO RIGHT OUTER JOIN

--오라클 OUTER JOIN
SELECT t1.column1, t2.column2
    FROM tablename1 t1, tablename2 t2
    WHERE t1.column3 (+) = t2.column3;
    
--ANSI/ISO RIGHT OUTER JOIN
SELECT t1.column1, t2.column2
    FROM tablename1 t1 RIGHT OUTER JOIN tablename2 t2
    ON (t1.column3 = t2.column3);

: t2의 데이터는 모두 출력됨

- 오라클의 조인 사인 (+)은 덜 출력되는 t1에 붙임

 

 

오라클 OUTER JOIN과 ANSI/ISO LEFT OUTER JOIN

--오라클 OUTER JOIN
SELECT t1.column1, t2.column2
    FROM tablename1 t1, tablename2 t2
    WHERE t1.column3 = t2.column3 (+);
    
--ANSI/ISO LEFT OUTER JOIN
SELECT t1.column1, t2.column2
    FROM tablename1 t1 LEFT OUTER JOIN tablename2 t2
    ON (t1.column3 = t2.column3);

: t1의 데이터는 모두 출력됨

- 오라클의 조인 사인 (+)은 덜 출력되는 t2에 붙임