본문으로 건너뛰기
실습하기

FULL OUTER JOIN

FULL OUTER JOIN은 왼쪽 테이블과 오른쪽 테이블의 모든 행을 반환합니다.

일치하는 값이 있으면 해당 행들을 결합해 보여줍니다.

일치하지 않는 경우, 누락된 값은 NULL로 채워집니다.


FULL OUTER JOIN 문법

FULL OUTER JOIN의 기본 구문은 다음과 같습니다.

FULL OUTER JOIN 구문
SELECT 열들
FROM 테이블1
FULL OUTER JOIN 테이블2
ON 테이블1.= 테이블2.;

이 Join은 LEFT JOINRIGHT JOIN의 합집합입니다.


FULL OUTER JOIN 예시

아래는 학생 테이블과 수강신청 테이블 사이의 FULL OUTER JOIN 예시입니다.

학생

학번이름
1김민수
2박지현
3이서준
4최예린
5정수진

수강신청

학번과목명
1수학
1과학
2역사
3미술
FULL OUTER JOIN 예시
SELECT 학생.이름, 수강신청.과목명
FROM 학생
FULL OUTER JOIN 수강신청
ON 학생.학번 = 수강신청.학번;

쿼리 결과:

이름과목명
김민수수학
김민수과학
박지현역사
최예린NULL
NULL미술

이 결과에는 일치하는 행, 일치하지 않는 학생, 일치하지 않는 과목이 모두 포함됩니다.


FULL OUTER JOIN은 어떠한 경우에 사용될까요?

다음과 같은 경우 FULL OUTER JOIN을 사용하세요.

  • 두 테이블의 데이터를 빠짐없이 모두 보고 싶을 때
  • 누락된 관계를 점검하고자 할 때
  • 테이블 간 레코드를 감사하거나 정합성을 대조할 때

참고: SQLite와 MySQL은 FULL OUTER JOIN을 직접 지원하지 않습니다. LEFT JOINRIGHT JOIN 결과를 UNION하여 유사하게 구현할 수 있습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!