Skills/SQL
[SQL] 10. 데이터 합치기 (JOIN)
Ssongs
2021. 8. 5. 10:32
반응형
실습 데이터 (kaggle superstore)
- orders
- users
- products
JOIN (Merge)
DB 안의 여러 테이블을 합치거나 연결하는 기능
두 개 이상의 테이블을 하나로 합치기 JOIN
- 테이블명.컬럼명 으로 조회한다.
SELECT o.*, p.category, p.name
FROM data.orders AS o
JOIN data.products AS p
ON o.product_id = p.product_id
- 세 테이블을 합칠 때는 두 테이블 조인에 이어서 적어주면 된다.
SELECT o.*, p.category, p.name, u.segment
FROM data.orders AS o
JOIN data.products AS p
ON o.product_id = p.product_id
JOIN data.users AS u
ON o.customer_id = u.customer_id
JOIN 방법에 따른 구분 : (INNER) JOIN
- 교집합의 개념
- 양쪽에 모두 다 들어있는 로우를 조인한다.
- 유저 + 셀러 : 쿠팡의 경우, 물건을 파는 셀러와 그 물건을 구매하는 유저를 모두 포함하는 경우
JOIN 방법에 따른 구분 : FULL (OUTER) JOIN
- 합집합의 개념
- 양쪽 로우를 모두 다 조인한다.
- 비어있는 값이 생긴다. (NULL)
- 당월 판매 + 전월 판매 : 아주 가끔 사용
JOIN 방법에 따른 구분 : LEFT (OUTER) JOIN
- 한 쪽 테이블의 데이터를 유지한 채 다른 쪽 데이터를 가져오는 JOIN
- 왼쪽 데이터를 고정시킨 채로 왼쪽에 있는 항목만 오른쪽에서 가져온다.
- 비어있는 값이 생긴다. (NULL)
- 실제 업무에서는 대부분 LEFT JOIN을 사용한다.
- 유저 + 구매 : 구매를 한 고객, 구매하지 않은 고객 모두 나옴.
JOIN 방법에 따른 구분 : RIGHT (OUTER) JOIN
- LEFT JOIN의 방향만 반대되는 JOIN
- 오른쪽 데이터를 고정시킨 채로 오른쪽에 있는 항목만 왼쪽에서 가져온다.
- 비어있는 값이 생긴다. (NULL)
- 실무에서 사용하지 않음
반응형