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 JOIN
은LEFT JOIN
과RIGHT JOIN
의 합집합과 같은 역할을 합니다.
FULL OUTER JOIN 예시
아래 예시는 students
테이블과 enrollments
테이블을 FULL OUTER JOIN
으로 결합한 예시입니다.
students
student_id | name |
---|---|
1 | 김민수 |
2 | 박지현 |
3 | 이서준 |
4 | 최예린 |
5 | 정수진 |
enrollments
student_id | class_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;
쿼리 결과
name | class_name |
---|---|
김민수 | 수학 |
김민수 | 과학 |
박지현 | 역사 |
이서준 | 미술 |
최예린 | NULL |
정수진 | NULL |
일치하는 학생과 과목뿐 아니라, 수강 내역이 없는 학생, 학생 정보가 없는 수강 기록까지 모두 포함됩니다.
FULL OUTER JOIN 사용 시점
FULL OUTER JOIN
은 다음과 같은 경우에 유용합니다.
- 두 테이블의 데이터를 빠짐없이 모두 보고 싶을 때
- 어느 테이블에서 누락된 값이 있는지 확인할 때
- 두 테이블 간 데이터의 정합성을 점검하거나 감사할 때
참고: SQLite와 MySQL은
FULL OUTER JOIN
을 기본적으로 지원하지 않습니다. 대신LEFT JOIN
과RIGHT JOIN
결과를UNION
으로 결합해 유사한 동작을 구현할 수 있습니다.
Quiz
0 / 1
SQL 쿼리에서 FULL OUTER JOIN은 무엇을 반환하나요?
양쪽 테이블에서 일치하는 행만.
왼쪽 테이블의 행만.
양쪽 테이블의 모든 행을 반환하며, 일치하는 값이 없는 곳은 NULL로 채운다.
오른쪽 테이블의 행만.
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과