학습 자료

FULL OUTER JOIN

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

일치하는 값이 있으면 두 테이블의 데이터를 결합해 보여주고, 일치하지 않는 경우 누락된 값은 NULL로 채워집니다.


FULL OUTER JOIN 문법

FULL OUTER JOIN 구문
SELECT columns FROM table1 FULL OUTER JOIN table2 ON table1.column = table2.column;

FULL OUTER JOINLEFT JOINRIGHT JOIN합집합과 같은 역할을 합니다.


FULL OUTER JOIN 예시

아래 예시는 students 테이블과 enrollments 테이블을 FULL OUTER JOIN으로 결합한 예시입니다.

students

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

enrollments

student_idclass_name
1수학
1과학
2역사
3미술
FULL OUTER JOIN 예시
SELECT students.name, enrollments.class_name FROM students FULL OUTER JOIN enrollments ON students.student_id = enrollments.student_id;

쿼리 결과

nameclass_name
김민수수학
김민수과학
박지현역사
이서준미술
최예린NULL
정수진NULL

일치하는 학생과 과목뿐 아니라, 수강 내역이 없는 학생, 학생 정보가 없는 수강 기록까지 모두 포함됩니다.


FULL OUTER JOIN 사용 시점

FULL OUTER JOIN은 다음과 같은 경우에 유용합니다.

  • 두 테이블의 데이터를 빠짐없이 모두 보고 싶을 때
  • 어느 테이블에서 누락된 값이 있는지 확인할 때
  • 두 테이블 간 데이터의 정합성을 점검하거나 감사할 때

참고: SQLite와 MySQL은 FULL OUTER JOIN을 기본적으로 지원하지 않습니다. 대신 LEFT JOINRIGHT JOIN 결과를 UNION으로 결합해 유사한 동작을 구현할 수 있습니다.

Quiz
0 / 1

SQL 쿼리에서 FULL OUTER JOIN은 무엇을 반환하나요?

양쪽 테이블에서 일치하는 행만.

왼쪽 테이블의 행만.

양쪽 테이블의 모든 행을 반환하며, 일치하는 값이 없는 곳은 NULL로 채운다.

오른쪽 테이블의 행만.

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과