JOIN이 필요한 이유

정규화된 테이블은 따로 저장하고, 필요할 때 키로 연결합니다.

회원 정보는 users에 한 번만 두고, 주문은 orders에 쌓습니다. user_id가 두 테이블을 연결하는 약속입니다.

users

회원 기준
user_idusernamegrade
1김철수GOLD
2이영희SILVER
3박민수BRONZE

orders

주문 기록
order_iduser_idstatus
1011DELIVERED
1021SHIPPED
1032PAID

JOIN 결과

일치한 행만 결합
usernameorder_idstatus
김철수101DELIVERED
김철수102SHIPPED
이영희103PAID

김철수의 이름은 users에서, 주문 상태는 orders에서 가져와 한 결과 행으로 보여 줍니다.

분리

회원 정보를 주문마다 반복 저장하지 않습니다.

연결

PK와 FK가 어떤 행끼리 만날지 정합니다.

결과

필요한 순간에만 결합해 읽기 좋은 결과를 만듭니다.