DB/PostgreSQL

[DB] JOIN

2juhyunju 2021. 12. 6. 14:45

JOIN 이란?

특정컬럼을 기준으로 테이블을 합치는것을 말한다.

INEER JOIN 

- INEER JOIN은 TABLE1과 TABLE2에서 값이 같은 행만 반환해준다.

SELECT *
FROM <테이블이름1>
INNER JOIN <조인할테이블 이름>
ON <테이블이름1.컬럼이름1> = <테이블이름2.컬럼이름2>;


* USING 을 사용하면 사용하기 편함
EX)
SELECT *
FROM <테이블이름1>
INNER JOIN <조인할테이블 이름>
USING(<동일한 컬럼이름>);

 

LEFT(OUTTER) JOIN

- LEFT JOIN은 JOIN 왼쪽에 있는 TABLE1의 결과를 조회한 후 TABLE2와 매칭하여 반환해준다.

* 매칭되는 데이터가 없으면 NULL 값 반환

SELECT *
FROM <테이블이름1>
LEFT JOIN <조인할 테이블이름>
ON <테이블이름1.컬럼이름1> = <테이블이름2.컬럼이름2>;

 

RIGHT(OUTTER) JOIN 

-  RIGHT JOIN은 JOIN 오른쪽에 있는 TABLE1의 결과를 조회한 후 TABLE2와 매칭하여 반환해준다.

* 매칭되는 데이터가 없으면 NULL 값 반환

SELECT *
FROM <테이블이름1>
RIGHT JOIN <조인할 테이블이름>
ON <테이블이름1.컬럼이름1> = <테이블이름2.컬럼이름2>;

 

FULL(OUTER) JOIN

- FULL JOIN 은 TABLE1과 TABLE2를 매칭시키고 데이터가 없으면 NULL 반환

 

CROSS JOIN 

- CROSS JOIN은 TABLE1과 TABLE2의 모든 컬럼을 조인한다.