데이터분석공부

데이터분석공부 SQL조인종류 정리

EFS 2022. 5. 28. 23:43
반응형

데이터분석, SQL 조인은 계속 헷갈립니다. 다시한번 SQL의 조인종류를 공부해봅니다.


Innner 조인이란?

교집합이다. A와 B에 동시에 존재하는 집합을 이너조인이라 한다.


Select 

A.Customer_ID, A.First_Name
,A.Last_name, A.Email
,B.Amount, B.Payment_date
From Customer A
Inner Join Payment B
On A.Customer_ID = B.Customer_ID 
Where A.Customer ID=2

- 고객은 여러건의 결제를 할 수 있다. 고객 1 : 결제 M -> 1:M 관계가 된다.

Select count (*) From Payment ;

Outer 조인이란?

( 보통 SQL를 배울 때 처음 만나는 위기 )

[ Left Outer Join ]
: A는 모두 출력하고, B는 A에 있는 것들만 출력
: 특정 칼럼을 기준으로 매칭된 집합을 출력하는데 한쪽의 집합은 모두 출력하고
다른한쪽의 집합은 매칭되는 컬럼의 값만 출력하는 것.
: 즉, 왼쪽에 있는것은 다 보여줘라
: 보통 SQL를 쓸때는 OUTER는 생략해서 'LEFT'만을 쓰기도 한다.

B중에 A에 없는 값들은 'Null' 값이 된다.

[  Left Outer Only ]
: 
Where B.ID IS NULL 
A에만 존재하는 값만 뽑게 된다. 이런경우가 LEFT OUTER ONLY다.

Select A.ID AS ID_A
, A.FRUIT AS FRUIT_A
, B.ID AS ID_B
, B.FRUIT AS FRUIT_B
FROM BASKET_A A
LEFT JOIN BASKET_B B
ON A.FRUIT = B.FRUIT
WHERE B.ID IS NULL

[  RIGHT Outer Join ]
: B는 모두 출력하고, A는 B에 있는 것들만 출력

 

[ RIGHT Outer Only ]
: 
Where A.ID IS NULL 
B에만 존재하는 값만 뽑게 된다. 이런경우가 RIGHT OUTER ONLY다.


반응형

이렇게 Join의 종류를 공부하고나니, 이렇게 이미지를 올리신 벤다이어그램이 있습니다. 이 그림을 보고나니 더욱 명확해지는 SQL의 조인종류들입니다. 

구글에서 SQL 조인이라고 검색하면 수많은 분들이 이미지를 올리신 벤다이어그램이 있는데 그래도 한번 공부하고 보니 머릿속에 잘 들어옵니다.


[ Inner Join ]

 

[ Left Join ]

[ Right Join ]

[ Ourter Join ]

[ Left Exculuding Join ]

[ Right Exculuding Join ]


[ Outer Exculuding Join ]

▼ 출처 : https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins#_comments

 




- 그런데 저 벤다이어그램보고도 헷갈려서 생활코딩사이트에서 또 추가적으로 찾아보았었습니다. 위 설명을 보시고도
헷갈리시는 분들은 아래 포스팅참고해보세요.

 

데이터분석공부 SQL LEFT JOIN 이란?

LEFT Join이란? 기초SQL를 공부하다보면 조인을 벤다이어그램으로 집합으로 설명해준 예시가 많은데요. 그런데 저는 그게 조금 헷갈리더라구요. 생활코딩이라는 사이트를 통해 알게 된 'dataschool'

ee-eng.tistory.com



반응형