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 JOIN
과RIGHT 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 JOIN
과RIGHT JOIN
결과를UNION
하여 유사하게 구현할 수 있습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!