[SQL] INNER JOIN 시 필터링은 WHERE가 아닌 ON에서

Unit·2025년 7월 17일

SQL

목록 보기
28/59

INNER JOIN에서 조건을 WHERE에 두면, 모든 데이터를 조인한 후 필터링합니다.
반면, ON에 조건을 걸면 조인 대상 자체를 줄일 수 있어 더 효율적입니다.


❌ 비효율적

FROM orders o
INNER JOIN users u
  ON o.user_id = u.user_id
WHERE u.status = 'active';

✅ 효율적

FROM orders o
INNER JOIN users u
  ON o.user_id = u.user_id
 AND u.status = 'active';

정리

INNER JOIN이라면, 조건은 WHERE절이 아닌 ON절에 작성하여 성능을 최적화하세요.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글