본문 바로가기

CS/데이터베이스

JOIN

1. JOIN 이란?

두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법

2. JOIN의 종류

① INNER JOIN

교집합으로, 기준 테이블과 JOIN 테이블의 공통 부분을 보여준다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

② LEFT (OUTER) JOIN

왼쪽테이블 기준으로 모든 컬럼에 대해 JOIN 연산을 수행한다.

NULL값이 표시될 수도 있다.

RIGHT (OUTER) JOIN은 생략

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

③ FULL OUTER JOIN

합집합을 말한다. A와 B의 모든 데이터가 검색된다.

NULL값이 표시될 수도 있다. 중복되어 표현되지 않는다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

④ CROSS JOIN

모든 경우의 수를 전부 표현한다.

중복되어 나타날 수도 있다. NULL 또한 표시된다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
CROSS JOIN JOIN_TABLE B

⑤ SELF JOIN

자기 자신과 조인한다. 동일한 테이블을 복사해서 조인한다고 생각하면 된다.

자신이 갖고 있는 컬럼을 다양하게 변형시켜 활용할 때 사용한다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A, EX_TABLE B

'CS > 데이터베이스' 카테고리의 다른 글

CAP이론  (0) 2021.09.30
DB 역정규화  (0) 2021.09.30
DB 정규화  (0) 2021.09.29
이상(Anomaly)  (0) 2021.09.29
SQL vs NoSQL  (0) 2021.09.29