[MSSQL] JOIN의 종류 설명 및 예제

JOIN(조인) 이란?

두가지 이상의 테이블 또는 데이터베이스를 연결하여 데이터를 검색하는 방법니다.

자신이 검색하고 싶은 컬럼이 다른 테이블에 있는 경우, 주로 사용하며 여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법입니다.

 

보통 기본키(Primary key) 혹은 외래키(Foreign key)로 두 테이블을 연결합니다.

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

INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN, SELF JOIN이 있습니다.

대표적으로 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN 을 많이 활용합니다.

*벤다이어그램을 활용해서 살펴보면, 이해에 도움이 될 수 있을 것입니다.

 

 


INNER JOIN

간단하게 보면, 교집합이라고 생각하시면 됩니다.

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

결과값은 A의 테이블과 B테이블이 모두 가지고있는 데이터만 검색됩니다.

 

--문법--

SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼

FROM 기준테이블 별칭

INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키....

 

--예제--

SELECT

A.DT_SO,  --A 테이블의 DT_SO 조회

B.NO_SO  --B 테이블의 NO_SO 조회

FROM SA_SOH A

INNER JOIN SA_SOL B ON A.CD_COMPANY = B.CD_COMPANY AND A.NO_SO = B.NO_SO

   > ON 뒤는 JOIN 테이블의 기준을 설정하는 부분으로 보시면 됩니다.

      예제로 살펴보면, A테이블의 CD_COMPANY 컬럼, NO_SO 컬럼이 B테이블과 같은 기준을 설정한 것입니다.

 

 

 

LEFT OUTER JOIN

왼쪽 테이블을 기준으로 JOIN을 한다고 생각하면 됩니다.

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

이에 대한 결과값은 A테이블의 모든 데이터와 A테이블과 B테이블의 중복되는 값이 검색됩니다.

 

--문법--

SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼

FROM 기준테이블 별칭

LEFT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키....

 

--예제--

SELECT

A.DT_SO,  --A 테이블의 DT_SO 조회

B.NO_SO  --B 테이블의 NO_SO 조회

FROM SA_SOH A

LEFT OUTER JOIN SA_SOL B ON A.CD_COMPANY = B.CD_COMPANY AND A.NO_SO = B.NO_SO

 

 

 

RIGHT OUTER JOIN

LEFT OUTER JOIN의 반대이며, 오른쪽 테이블을 기준으로 JOIN을 합니다.

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

이에 대한 결과값은 B테이블의 모든 데이터와 A테이블과 B테이블의 중복되는 값이 검색됩니다.

 

--문법--

SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼

FROM 기준테이블 별칭

RIGHT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키....

 

--예제--

SELECT

A.DT_SO,  --A 테이블의 DT_SO 조회

B.NO_SO  --B 테이블의 NO_SO 조회

FROM SA_SOH A

RIGHT OUTER JOIN SA_SOL B ON A.CD_COMPANY = B.CD_COMPANY AND A.NO_SO = B.NO_SO

 

 

댓글

Designed by JB FACTORY