본문 바로가기
SQL

[SQL] 조인 - join이란? INNER, OUTER, CROSS, SELF

by ssollacc 2021. 8. 31.
728x90

SQL SOIN

 

조인이란?

 

"두 테이블로부터 특정 조건을 만족하는 레코드들을 하나의 레코드로 결합하는 연산"

 

 조인은 두개 이상의 테이블이나 데이터 베이스를 연결하여 데이터를 검색하는 방법입니다!

검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하고

테이블을 연결하려면 최소 하나의 컬럼은 서로 공유 되고 있어야 합니다.

보통 Primary Key 혹은 Foreign Key로 연결.

 

 

INNER JOIN

 

INNER JOIN은 기준 테이블과 JOIN한 테이블의 중복 값을 보여줍니다.

 

LEFT OUTER JOIN

기준 테이블의 모든 값 + JOIN한 테이블과 중복된 값을 보여줍니다. 

조건을 넣어주면 중복된 값을 제거해줄 수 있습니다.

 

RIGHT OUTER JOIN

JOIN한 테이블의 모든 값 + 기준 테이블과 JOIN한 테이블의 중복 값을 보여줍니다

LEFT OUTER JOIN과 마찬가지로 조건을 넣어 중복 값을 제거 할 수 있습니다.

 

 

FULL OUTER JOIN

 

 

기존 테이블의 값 + JOIN한 테이블의 값을 보여줍니다.

테이블A와 테이블B의 데이터 모두 검색 가능합니다.

 

 

CROSS JOIN

 

SELECT *
FROM TableA
CROSS JOIN TableB

 

 

CROSS JOIN은 상호 조인이라고도 불립니다.

한 쪽 테이블의 모든 행들과 다른 테이블의 모든 행을 조인하여 보여줍니다.

그래서 결과의 수가 두 테이블의 행의 수를 곱한 수가 됩니다.

(위 그림과 같은 경우 3 * 2 =6) 

 

 

SELF JOIN

SELF JOIN은 따로 형태가 존재하는 것이 아니라 이름 그대로 자기 자신과 조인하는 것을 말합니다.

동일 테이블 사이의 조인을 수행하면 테이블과 칼럼 이름이 모두 동일하기 때문에 반드시 별칭(Alias)을 사용합니다.

그리고 칼럼에도 모두 테이블 별칭을 사용해서 어느 테이블의 칼럼인지 식별해주어야 합니다.

 

 

 

728x90

댓글