20분
RIGHT JOIN과 FULL OUTER JOIN
Day 3: 누락 데이터 찾기
RIGHT JOIN과 FULL OUTER JOIN
SQL 기초 2: JOIN, GROUP BY, 서브쿼리 > Day 3: 누락 데이터 찾기
학습 목표
RIGHT JOIN의 동작을 이해한다 FULL OUTER JOIN을 사용할 수 있다
RIGHT JOIN
LEFT JOIN의 반대. 오른쪽 테이블 전체를 포함한다.
에디터 로딩 중...
결과:
에디터 로딩 중...
RIGHT JOIN = 뒤집은 LEFT JOIN
사실 RIGHT JOIN은 테이블 순서를 바꾼 LEFT JOIN과 같다.
에디터 로딩 중...
실무에서는 LEFT JOIN을 더 많이 쓴다. 읽는 순서대로(왼쪽→오른쪽) 이해하기 쉬우니까.
FULL OUTER JOIN
양쪽 테이블 전체를 포함한다.
에디터 로딩 중...
결과:
에디터 로딩 중...
양쪽에서 매칭 안 된 행이 모두 나온다.
JOIN 비교 정리
| 종류 | 결과 | 용도 |
|---|---|---|
| INNER JOIN | 양쪽 다 있는 것만 | 기본 데이터 조회 |
| LEFT JOIN | 왼쪽 전체 + 오른쪽 매칭 | 왼쪽 기준 + 없는 것 찾기 |
| RIGHT JOIN | 오른쪽 전체 + 왼쪽 매칭 | 오른쪽 기준 (잘 안 씀) |
| FULL OUTER | 양쪽 전체 | 양쪽 누락 찾기 |
MySQL 사용자 주의
MySQL은 FULL OUTER JOIN을 지원하지 않는다. UNION으로 대체해야 한다:
에디터 로딩 중...
PostgreSQL은 FULL OUTER JOIN 정상 지원.