Checklist

OUTER JOIN 흔한 실수

결과가 예상보다 적거나 많을 때는 대부분 조건 위치, COUNT, NULL 검사 컬럼에서 문제가 납니다.

결과 손실
오판 위험
가독성
WHERE 오른쪽 조건

보존 행 제거

오른쪽 NULL 행을 탈락시켜 LEFT JOIN이 INNER JOIN처럼 보입니다.

COUNT(*)

0건이 1건으로

NULL 보존 행까지 세기 때문에 주문 없는 회원도 1이 됩니다.

nullable IS NULL

Anti-Join 오판

원래 NULL인 값과 매칭 실패 NULL을 구분하지 못합니다.

ON 누락

카테시안 폭증

암묵적 조인에서 조건을 빠뜨리면 행 수가 곱으로 늘어납니다.

NATURAL JOIN

스키마 변화 취약

같은 이름 컬럼이 추가되면 결과가 조용히 바뀝니다.

RIGHT JOIN 연쇄

읽기 어려움

기준 테이블을 왼쪽에 두는 LEFT JOIN 흐름이 보통 더 명확합니다.