SQL: 조인 (JOIN) 및 관계
1. JOIN이란?
둘 이상의 테이블을 연결하여 데이터를 조회하는 방법입니다. 공통된 열(대개 외래 키)을 기준으로 데이터를 합칩니다.
2. 주요 JOIN 종류
INNER JOIN
두 테이블 모두에 일치하는 값이 있는 행만 반환합니다.
SELECT orders.id, users.name
FROM orders
INNER JOIN users ON orders.user_id = users.id;
LEFT (OUTER) JOIN
왼쪽 테이블의 모든 행과, 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하는 값이 없으면 NULL로 표시됩니다.
SELECT users.name, orders.product_name
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
3. 관계 (Relationship)
- 1:1 (One-to-One): 사용자 정보와 사용자 설정 테이블 관계.
- 1:N (One-to-Many): 한 명의 사용자가 여러 개의 주문을 하는 관계. (가장 흔함)
- N:M (Many-to-Many): 학생과 수업 관계 (중간에 매핑 테이블이 필요함).