[DB] JOIN

JOIN

JOIN은 두개 이상의 테이블에 대해서 결합하여 나타낼때 사용한다.

결합을 위해서 조건을 지정해줄 수도 있는데, 이 조건은 각 테이블의 열이 일치하는지 여부를 기준으로 한다.

내부 조인은 두 테이블 모두에서 일치하는 값을 가진 행만 골라서 테이블을 만들어서 반환한다.

 

A와 B라는 두 개의 테이블이 있다고 하자. 위 사진에서 볼 수 있듯이 JOIN은

SELECT <선택할 columns> FROM TABLE A JOIN TABLE B ON <조건>

라고 하면 A의 col_a와 B의 col_b가 같은 열들의 경우 A와 B의 선택한 columns 정보를 합쳐서 새로운 테이블을 생성해준다. 

위와 같은 두 개의 테이블이 있다고 할 때, 

SELECT A.ID, A.NAME, B.KNAME FROM A INNER JOIN B ON A.ID=B.ID;

라고 하면 A.ID와 B.ID가 같은 행들에 대해 A.ID와 A.ENAME, B.KNAME을 가져와서 보여준다.

 

 

 

Inner Join VS Outer Join

 

내부 조인은 join의 대상이 되는 두 테이블 모두에서 일치하는 값을 가진 행만 반환한다.

반면 외부 조인은 한 테이블의 모든 행과 그 테이블과 공통값을 가지는 다른 테이블의 행을 반환한다. 모든 행이 포함되는 테이블이 왼쪽에 있으면 Left Outer Join, 오른쪽에 있으면 Right Outer Join이라고 한다.