brunch

You can make anything
by writing

C.S.Lewis

by Cheon Nov 28. 2016

[데이터 연결] 4가지 종류의 데이터 조인(Join)

# 조인(Join)이란 무엇인가?


조인이란, 공통된 필드를 이용해서 두 개의 데이터를 연결시키는 것.


SuperStore 데이터 중에서, ‘Orders’와 ‘Returns’, 두 개의 시트(테이블)가 있다.




두 개의 시트를 연결시키기 위해 공통된 필드인 ‘Order ID’를 선택한다.



그러면 아래와 같이 두 개의 시트가 연결된다.

(‘Discount’와 ‘Profit’은 ‘Orders’ 시트에 있는 데이터이고, ‘Returned’와 ‘Order ID(Returns)’는 ‘Returns’ 시트에 있는 데이터이다.)




# 조인의 종류


조인의 종류는 총 4개가 있다. 


왼쪽 조인(Left Join)

오른쪽 조인(Right Join)

가운데 조인(Inner Join)

전체 조인(Full Join)


두 개의 테이블을 가지고 예를 들어 보자.


‘위치 테이블’과 ‘직원수’ 테이블을 가지고 '왼쪽 조인'을 하면 어떻게 되는가?

공통된 필드 ‘회사이름’을 기준으로 왼쪽 테이블에 있는 데이터를 전부 가져오고, 왼쪽 데이터에 속한 회사이름에 해당하는 다른 값(여기서는 ‘직원수’)을 오른쪽 테이블에서 가져온다. 만약 왼쪽 데이터에 속한 회사이름에 해당하는 다른 값이 없다면 ‘null’이 된다.




‘위치 테이블’과 ‘직원 수’ 테이블을 가지고 '오른쪽 조인'을 하면 어떻게 되는가?

공통된 필드 ‘회사이름’을 기준으로 오른쪽 테이블에 있는 데이터를 전부 가져오고, 오른쪽 데이터에 속한 회사이름에 해당하는 다른 값(여기서는 ‘위치’)을 왼쪽 테이블에서 가져온다. 만약 오른쪽 데이터에 속한 회사이름에 해당하는 다른 값이 없다면 ‘null’이 된다.



‘위치 테이블’과 ‘직원 수’ 테이블을 가지고 '가운데 조인'을 하면 어떻게 되는가?

공통된 필드 ‘회사이름’을 기준으로 두 테이블에 공통으로 속한 회사이름과 그에 따른 다른 값(여기서는 ‘위치’, ‘직원수’)을 양쪽 테이블에서 가져온다.




‘위치 테이블’과 ‘직원 수’ 테이블을 가지고 '전체 조인'을 하면 어떻게 되는가?

공통된 필드 ‘회사이름’을 기준으로 두 테이블에 속한 모든 값을 가져온다. 데이터가 없는 부분은 ‘null’이 된다.




두 개의 데이터를 조인할 때, 조인의 종류를 고려하여 데이터를 연결하자.




매거진의 이전글 태블로에서 구글 애널리틱스 데이터 가져오는 방법
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari