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