[MySQL] JOIN (inner join, outer join)

hyeji·2023년 2월 6일
0

두 개의 데이터베이스가 존재할 때, 이를 연결하기 위해서 join을 사용한다.

join에도 inner join과 outer join이 있는데 이를 알아보자~

Inner Join

이렇게 두 개의 데이터 베이스가 있을 때, 이를 Inner Join 해보자.

SELECT *
FROM DATA1
INNER JOIN DATA2 ON DATA1.key = DATA2.key;

or

SELECT *
FROM DATA1
JOIN DATA2 ON DATA1.key = DATA2.key

두 데이터베이스에 공통적으로 존재하는 A, B, C에 대해서만 join이 이루어진다.

Outer Join

Left Join

이렇게 두 개의 데이터베이스가 있을 때, 이를 Left Join 해보자.

SELECT *
FROM DATA1
LEFT JOIN DATA2 ON DATA1.key = DATA2.key;

왼쪽 데이터베이스에 오른쪽 데이터베이스를 붙이는 형식으로 결과가 나온다.

오른쪽 데이터에 없는 값들은 결측치로 처리된다.

Right Join

이번에는 오른쪽 데이터베이스에 맞춰 Right Join을 해보자.

SELECT *
FROM DATA1
RIGHT JOIN DATA2 ON DATA1.key = DATA2.key;

이렇게 왼쪽 데이터베이스에 없는 값들은 결측치로 처리된다.

데이터의 순서 차이이므로 굳이 Right Join을 쓰기 보다는 Left Join을 활용하는 것이 낫다.

Full Outer Join

Full Outer Join은 두 데이터 베이스를 그냥 갖다 붙여 연결한다고 생각하면 된다.

SELECT *
FROM DATA1
FULL OUTER JOIN DATA2 ON DATA1.key = DATA2.key;

서로 존재하지 않는 값들은 결측치로 대체된다.

profile
Data Analyst

0개의 댓글