▣OUTER JOIN(외부조인)이란?
▷OUTER JOIN은 조인하는 여러테이블에서 한 쪽에는 데이터가 있고, 한 쪽에는 데이터가 없는 경우, 데이터가 있는 쪽 테이블의 내용을 모두 출력하는 것입니다. 즉, 조건에 맞지 않아도 해당하는 행을 출력하고 싶을 때 사용할 수 있습니다.
▣OUTER JOIN의 종류
1) LEFT OUTER JOIN : 조인문의 왼쪽에 있는 테이블의 모든 결과를 가져 온 후 오른쪽 테이블의 데이터를 매칭하고, 매칭되는 데이터가 없는 경우 NULL로 표시한다.
ex) SELECT 검색할 컬럼
FROM 테이블명 LEFT OUTER JOIN 테이블명2
ON 테이블.컬럼명 = 테이블2.컬럼명;
<ORACLE>
SELECT 검색할 컬럼
FROM 테이블명, 테이블명2
WHERE 테이블.컬럼명 = 테이블2.컬럼명(+);
(결과)
TEST 테이블 TEST1 테이블
2) RIGHT OUTER JOIN : 조인문의 오른쪽에 있는 테이블의 모든 결과를 가져온 후 왼쪽의 테이블의 데이터를 매칭하고, 매칭되는 데이터가 없는 경우 NULL을 표시한다.
ex) SELECT 검색할 컬럼
FROM 테이블명 RIGHT OUTER JOIN 테이블명2
ON 테이블명 = 테이블명2;
<ORACLE>
SELECT 검색할 컬럼
FROM 테이블명, 테이블명2
WHERE 테이블.컬럼명(+) = 테이블2.컬럼명;
(결과)
TEST 테이블 TEST1 테이블
3) FULL OUTER JOIN : LEFT OUTER JOIN 과 RIGHT OUTER JOIN을 합친 것으로, 양쪽 모두 조건이 일치하지 않는 것까지 모두 결합해 출력한다
ex) SELECT 검색할 컬럼
FROM 테이블명 FULL OUTER JOIN 테이블명2
ON 테이블.컬럼명 = 테이블2.컬럼명; (ORACLE의 경우)
※ MySQL에서는 FULL OUTER JOIN이 없으므로,
LEFT OUTER JOIN 과 RIGHT OUTER JOIN을 UNION 하는 식으로 하여 FULL OUTER JOIN을 만들어 준다.
(결과)
TEST 테이블 TEST1 테이블
'Programming > DataBase' 카테고리의 다른 글
[SQL] PL/SQL이란 무엇일까? (0) | 2018.04.23 |
---|---|
(SQL) SQL Developer를 설치해보자! (1) | 2018.04.22 |
[SQL]INNER JOIN(내부조인)에 대해 알아보자! (0) | 2018.04.20 |
(SQL)스키마(SCHEMA)에 대해 알아보자!! (0) | 2018.04.20 |
(SQL) TCL(Transaction Control Language) 이란 무엇일까? (0) | 2018.04.19 |