LEFT JOIN vs INNER JOIN 차이 쉽게 이해하기
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
왜 이 두 개념이 헷갈릴까?
SQL을 공부하면서 가장 많이 헷갈리는 부분이 바로 LEFT JOIN과 INNER JOIN입니다. 개념은 단순하지만, 실제 문제에서는 결과가 어떻게 나오는지 이해하지 못해 틀리는 경우가 많습니다.
하지만 핵심은 단 하나입니다. “데이터를 어디까지 포함할 것인가”입니다.
INNER JOIN: 공통된 데이터만 가져오기
INNER JOIN은 두 테이블에서 공통으로 존재하는 데이터만 가져옵니다.
예시 상황
- 고객 테이블
- 주문 테이블
INNER JOIN을 사용하면, 주문을 한 고객만 결과에 포함됩니다. 주문이 없는 고객은 아예 제외됩니다.
핵심
- 교집합 개념
- 일치하는 데이터만 조회
LEFT JOIN: 기준 테이블은 모두 유지
LEFT JOIN은 왼쪽 테이블의 모든 데이터를 유지하면서, 오른쪽 테이블을 붙입니다.
즉, 주문이 없는 고객도 결과에 포함되고, 이 경우 주문 정보는 NULL로 표시됩니다.
핵심
- 기준 테이블 유지
- 없는 값은 NULL 처리
차이를 한 줄로 정리하면
INNER JOIN = 공통 데이터만
LEFT JOIN = 기준 데이터는 모두 포함
이 한 문장만 정확히 이해하면 대부분의 문제를 해결할 수 있습니다.
언제 어떤 JOIN을 써야 할까?
INNER JOIN 사용 상황
- 조건에 맞는 데이터만 필요할 때
- 정확한 매칭 데이터만 조회할 때
LEFT JOIN 사용 상황
- 전체 데이터를 기준으로 보고 싶을 때
- 누락된 데이터까지 확인해야 할 때
특히 분석에서는 LEFT JOIN을 더 많이 사용하는 경우가 많습니다.
실무 예시로 이해하기
문제
“모든 고객의 구매 여부를 확인하고 싶다”
이 경우 INNER JOIN을 사용하면 구매한 고객만 나오기 때문에, 전체 고객을 확인할 수 없습니다. 따라서 LEFT JOIN을 사용해야 합니다.
많이 하는 실수
조건을 잘못 설정
JOIN은 ON 조건이 핵심입니다. 조건이 잘못되면 결과가 완전히 달라집니다.
NULL 값을 무시
LEFT JOIN에서는 NULL이 중요한 의미를 가지기 때문에 반드시 확인해야 합니다.
개념을 암기로만 접근
단순히 외우기보다, 결과를 직접 확인하면서 이해해야 합니다.
이해를 빠르게 높이는 방법
표를 직접 그려보기
두 테이블을 그리고 결과를 만들어보면 차이가 명확해집니다.
실습 반복
직접 쿼리를 작성해보는 것이 가장 빠른 학습 방법입니다.
결론: 기준이 핵심이다
LEFT JOIN과 INNER JOIN의 차이는 어렵지 않습니다. “어떤 데이터를 기준으로 할 것인가”만 이해하면 됩니다.
다음 글 예고
다음 글에서는 “GROUP BY 완벽 정리: 집계 함수 핵심 이해”를 쉽게 설명해보겠습니다.
댓글
댓글 쓰기