Filter Later
조건을 WHERE에 두는 경우
조인 뒤에 o.status 조건을 적용하면 NULL로 채워진 행은 조건을 통과하지 못합니다.
보존 행
조건 통과
WHERE에서 제거
LEFT JOIN orders o ON u.user_id = o.user_id WHERE o.status = 'DELIVERED'
조인 후 행
WHERE 평가
최종
김철수 · DELIVERED
TRUE
남음
이영희 · PAID
FALSE
제거
박민수 · NULL
UNKNOWN
제거
오른쪽 테이블 조건을 WHERE에 두면 보존하려던 NULL 행까지 사라질 수 있습니다.