반응형

INNER JOIN과 OUTER 조인

INNER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 교집합을 찾는 JOIN입니다.

OUTER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 합집합을 찾는 JOIN입니다.

 

예를 들어, A와 B 테이블에 다음과 같이 자료가 들어가 있을 때 어떻게 사용하는지 봅시다.

 

A B
1 3
2 4
3 5
4 6

 

A와 B 테이블의 INNER JOIN 수행

INNER JOIN을 수행하면 두 테이블에 공통 데이터가 있는 열이 출력됩니다.

 

SELECT * FROM A
INNER JOIN B ON A.a = B.b

 

위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.

 

A B
3 3
4 4

출력 결과에서 알 수 있듯 두 테이블에 공통으로 들어간 열만 출력되는 것을 볼 수 있습니다.

 

A와 B 테이블의 LEFT OUTER JOIN 수행

LEFT OUTER JOIN을 수행하면 기준이 되는 테이블의 모든 열에 B와 공통되는 부분을 추가로 얻을 수 있습니다.

 

SELECT * FROM A
LEFT OUTER JOIN B ON A.a = B.b

 

위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.

 

A B
1 null
2 null
3 3
4 4

출력 결과에서 알 수 있듯 두 테이블 중 기준이 되는 A 테이블의 열은 모두 출력하고 B에서는 A와 곂치는 부분만 출력하는 것을 알 수가 있습니다.

 

반응형

+ Recent posts