15분
두 개의 테이블, 하나의 보고서
Day 2: 테이블을 연결하다
두 개의 테이블, 하나의 보고서
SQL 기초 2: JOIN, GROUP BY, 서브쿼리 > Day 2: 테이블을 연결하다
학습 목표
JOIN이 필요한 실무 상황을 이해한다 테이블 분리의 이유를 파악한다
다음 미션
"고객별 주문 현황 보고서 만들어줘. 고객 이름, 등급, 주문 건수, 총 주문액 필요해."
에디터 로딩 중...
에디터 로딩 중...
잠깐, 고객 등급 정보가 없다.
에디터 로딩 중...
에디터 로딩 중...
고객 정보는 customers 테이블에 있다. 주문 정보는 orders 테이블에 있다.
어떻게 합칠까?
왜 테이블이 분리되어 있을까?
"그냥 한 테이블에 다 넣으면 안 돼?"
안 된다. 이유를 보자.
모든 걸 한 테이블에 넣으면:
에디터 로딩 중...
고객A의 이메일, 등급이 3번 중복 저장된다.
- 저장 공간 낭비
- 이메일 바꾸면 3군데 다 수정해야 함
- 실수로 한 군데만 바꾸면 데이터 불일치
이걸 정규화라고 한다. 데이터를 주제별로 분리하고, 필요할 때 JOIN으로 합친다.
오늘 배울 것
- INNER JOIN: 양쪽 테이블에 모두 있는 데이터 연결
- 테이블 별칭: 코드를 짧고 읽기 좋게
- 여러 테이블 조인: 3개 이상 테이블 연결
이걸 알면 "고객+주문", "직원+부서", "상품+카테고리" 같은 복잡한 보고서를 자유롭게 만들 수 있다.