본문 바로가기
IT/MSSQL

MSSQL JOIN(조인) 종류 및 사용법 (예제 포함)

by 베베야 2021. 2. 18.
728x90

오늘은 MSSQL JOIN(조인)의 종류 및 사용법에 대해서 알아보고
추가로 이해를 돕기 위한 예제까지 다루어 보도록 하겠습니다.

목차
1.조인이란?
2.INNER JOIN 문법 및 예제
3.LEFT OUTER JOIN 문법 및 예제
4.RIGHT OUTER JOIN 문법 및 예제
5.FULL OUTER JOIN 문법 및 예제
6.CROSS JOIN 문법 및 예제
7.SELF JOIN 문법 및 예제


1.조인이란?
조인이란 두개 이상의 테이블을 연결하여 데이터를 조회하는 방법입니다.
자신이 검색하고 싶은 컬럼이 다른 테이블에 있을경우 주로 사용하며 
여러개의 테이블을 하나의 테이블인 것처럼 보여주는 방법입니다. 


일반적으로는 Primary key혹은 Foreign key로 두 테이블을 연결합니다.
왜냐하면 테이블을 연결하려면 적어도 하나의 칼럼은 서로간에 공유가 되고 있어하는데
Primary key와 Foreign key는 항상 서로 공유되고 있기 때문입니다.

2.INNER JOIN 문법 및 예제
(A(*)B)
A와 B의 교집합이라고 생각하시면 됩니다. 
기준인 A 테이블과 Join한 B 테이블의 중복된 값을 보여줍니다.
결과값은 A 테이블과 B 테이블이 공통으로 가지고있는 데이터만 조회됩니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 기준테이블 별칭
INNER JOIN 조인테이블 별칭 
ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키...

[예제]
SELECT
A.NAME, --A 테이블의 NAME 조회
B.AGE --B 테이블의 AGE 조회
FROM babaya01 A
INNER JOIN babaya02 B 
ON A.name = B.name

3.LEFT OUTER JOIN 문법 및 예제
(A(*)B)
왼쪽 테이블을 기준으로 JOIN을 진행합니다
결과값은 A테이블의 모든 데이터와 A테이블과 B테이블의 중복되는 값이 조회됩니다.
기준테이블의 값을 모두 보여주고 그중에 B와 중복되는 값은 A테이블 결과값 뒤쪽으로 연결되어 표시됩니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 기준테이블 별칭
LEFT OUTER JOIN 조인테이블 별칭 
ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...

[예제]
SELECT
A.NAME, --A 테이블의 NAME 조회
B.AGE --B 테이블의 AGE 조회
FROM babaya01 A
LEFT OUTER JOIN babaya02 B 
ON A.name = B.name


4.RIGHT OUTER JOIN 문법 및 예제
(A(*)B)
LEFT OUTER JOIN의 반대로 오른쪽 테이블을 기준으로 JOIN을 진행합니다
결과값은 B테이블의 모든 데이터와 B테이블과 A테이블의 중복되는 값이 조회됩니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 기준테이블 별칭
RIGHT OUTER JOIN 조인테이블 별칭 
ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...

[예제]
SELECT
A.NAME, --A 테이블의 NAME 조회
B.AGE --B 테이블의 AGE 조회
FROM babaya01 A
RIGHT OUTER JOIN babaya02 B 
ON A.name = B.name


5.FULL OUTER JOIN 문법 및 예제
(A(*)B)
합집합으로 A테이블이 가지고 있는 데이터와 
B테이블이 가지고 있는 모든 데이터를 조회합니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 기준테이블 별칭
FULL OUTER JOIN 조인테이블 별칭 
ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...

[예제]
SELECT
A.NAME, --A테이블의 NAME조회
B.AGE --B테이블의 AGE조회
FROM babaya01 A
FULL OUTER JOIN babaya02 B 
ON A.name = B.name

6.CROSS JOIN 문법 및 예제
크로스 조인은 조인이 가능한 모든 경우의 수를 모두 보여줍니다.
기준테이블이 A일경우 A의 데이터 한 ROW를 B테이블 전체 ROW와 JOIN하는 방식입니다.
그러니까 A테이블에 데이터가 2개, B테이블에는 데이터가 3개가 있으면
(N * M)으로 총 6개의 데이터가 조회됩니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 기준테이블 별칭
CROSS JOIN 조인테이블 별칭

[예제]
SELECT
A.NAME, --A 테이블의 NAME 조회
B.AGE --B 테이블의 AGE 조회
FROM babaya01 A
CROSS JOIN babaya02 B

7.SELF JOIN 문법 및 예제
셀프 조인은 동일한 테이블 사이의(자기자신과 자기자신) 조인을 말합니다.
자신이 가지고 있는 칼럼을 다양하게 변형시켜 활용할 경우에 자주사용합니다.

[문법]
SELECT
테이블별칭.조회할칼럼,
테이블별칭.조회할칼럼
FROM 테이블 별칭,테이블 별칭2

[예제]
SELECT
A.NAME, --A테이블의 NAME조회
B.AGE --B테이블의 AGE조회
FROM babaya01 A,babaya01 B

반응형
그리드형

댓글