dev_eunz

[DB] 조인의 종류( INNER JOIN, OUTER JOIN, NATURAL JOIN, CROSS JOIN) 본문

IT

[DB] 조인의 종류( INNER JOIN, OUTER JOIN, NATURAL JOIN, CROSS JOIN)

은그램 2022. 4. 4. 16:52
728x90
반응형

DB를 사용하다보면, 다양한 종류의 조인을 접하게 된다.

 

DB의 조인에는 크게 2가지 조인이 있고,

그 안에 각 2가지씩 해서 4가지가 있다고 보면 된다.

 

그 중에서 가장 많이 사용하는 조인은 OUTER JOIN 인 것 같다.

 

 

일단 크게 나누어보자면,

 

1. INNER JOIN

2. OUTER JOIN

 

 

이렇게 나뉜다.

 

INNER JOIN의 경우,

A와 B라는 테이블을 JOIN할 때에, 같은 값을 가진 데이터만을 추출해와 새로운 데이터테이블을 뷰로 보여준다.

(데이터의 개수 : 데이터의 교집합 부분)

 

그 중에 Nature Join 이라는 자연조인은

중복되는 데이터를 없애 데이터의 양이 적다.

(데이터의 개수 : 데이터의 교집합 중, 중복 데이터 제외)

 

 

OUTER JOIN의 경우,

A와 B라는 테이블을 JOIN할 때에, 같은 값을 가지고있는 데이터가 아니더라도 왼/오른쪽의 값을 기준으로 데이터를 보여준다.

(데이터의 개수 : 기준이 되는 테이블의 데이터 개수)

 

Right Join의 경우에는 앞에 선언된 ( SELECT * FROM A RIGHT OUTER JOIN B ~라면, A) 테이블을 기준으로 데이터를 가져오고,

동일 조건에서 Left Join의 경우에는 뒤에 선언된 테이블(B)을 기준으로 가져온다.

 

그 중에 Cross Join이라는 조인은

양 쪽의 데이터를 모두 겹쳐지게 가져온다.

(데이터의 개수 : 두 개의 테이블의 데이터개수의 곱)

 

예를 들어서,

A 의 값이 2개, B의 값이 3개라면 가져오는 데이터의 값은 6개가 된다.

A-1 ~ B-1, A-1 ~ B-2, A-1 ~ B-3, A-2 ~ B-1, A-2 ~ B-2, A-2 ~ B-3 이렇게 말이다.

728x90
반응형
Comments