블로그

[SQL] LEFT OUTER JOIN 문법

예제 테이블

-- table_1
id  name
1   홍길동
2   임꺽정

-- table_2
id  name
1   홍길동
3   춘향이

일반적인 INNER 조인일 경우는 두 테이블에 동시에 존재하는 데이터만 골라냅니다.

SELECT *
FROM `table_1`
INNER JOIN `table_2` ON `table_1`.`id` = `table_2`.`id`;

결과는

1 홍길동  1 홍길동

OUTER 조인은 한 테이블에만 존재하는 데이터라도 모두 가져올 경우 사용됩니다.

LEFT OUTER 일 경우는 왼쪽 테이블의 데이터는 오른쪽에 없더라도 무조건 가져옵니다.

SELECT *
FROM `table_1`
LEFT OUTER JOIN `table_2` ON `table_1`.`id` = `table_2`.`id`;

결과는

1 홍길동   1    홍길동
2 임꺽정 NULL NULL

반대로 RIGHT OUTER 조인은 왼쪽에는 없더라도 오른쪽 테이블의 데이터는 무조건 가져옵니다.

SELECT *
FROM `table_1`
RIGHT OUTER JOIN `table_2` ON `table_1`.`id` = `table_2`.`id`;

결과는

1 홍길동   1    홍길동
NULL NULL  3 춘향이

Database 엔진에 따라서 결과가 다를 수 있습니다.