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의 모든 컬럼을 조인한다.