본문 바로가기

[MSSQL] JOIN 사용하기

안자매 2022. 6. 13.
반응형

 

개인적으로 공부하면서 기록하는 공간으로
잘못된 정보는 댓글을 통해 알려주시면 감사하겠습니다 :-)

▪ ▪ ▪ ▪ ▪

 

 

 

Join 이란?

Join 이란 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 테이블인 것 처럼 표현한 것이다.

각 테이블에서의 공통값을 이용함으로써 필드를 조합하게 되고, 공통값으로는 주로 기본키(Primary Key)와 외래키(Foreign Key)가 사용된다.

 

 

INNER JOIN

- 애플리케이션에서 사용되는 가장 흔한 결합 방식이며, 기본 조인 형식입니다.

- 조인 구문에 기반한 테이블의 컬럽 값을 결합하여, 테이블 A와 테이블 B의 중복된 값을 보여줍니다.

 

형식)

SELECT		* 		-- 조회할 컬럼명
FROM		TABLE1 AS A
			INNER JOIN TABLE2 AS B ON A.TABLE1기준키 = B.TABLE2기준키

 

 

LEFT OUTER JOIN / RIGHT OUTER JOIN

LEFT OUTER JOIN (왼), RIGHT OUTER JOIN (오)

- LEFT OUTER JOIN은 왼쪽 테이블을 기준으로, RIGHT OUTER JOIN은 오른쪽 테이블을 기준으로 JOIN 된다.

- LEFT OUTER JOIN과 RIGHT OUTER JOIN은 기능적으로 동일하여 테이블 순서를 변경하면 서로 대체할 수 있다.

 

형식)

SELECT		* 		-- 조회할 컬럼명
FROM		TABLE1 AS A
			LEFT(RIGHT) OUTER JOIN TABLE2 AS B ON A.TABLE1기준키 = B.TABLE2기준키

 

728x90

 

FULL OUTER JOIN

- 테이블 A와 테이블 B가 가진 데이터를 모두 준다

- 일부 데이터베이스 시스템에서는 FULL OUTER JOIN 기능을 지원하지 않아, union all 또는 select 를 사용하여 비슷하게 구현할 수 있다.

 

형식)

SELECT		* 		-- 조회할 컬럼명
FROM		TABLE1 AS A
			FULL OUTER JOIN TABLE2 AS B ON A.TABLE1기준키 = B.TABLE2기준키

 

 

CROSS JOIN

- CROSS JOIN 절은 조인되는 두 테이블의 곱집합을 반환한다. (모든 경우의 수 표현)

- M행을 가진 테이블과 N행을 가진 테이블이 CROSS JOIN 하게 되면 M*N개의 행을 생성한다.

 

형식)

SELECT		*
FROM		TABLE1 CROSS JOIN TABLE2

 

 

SELF JOIN

- SELF JOIN은 한 테이블에서 자기 자신에 조인시키는 것을 말한다.

- 동일 테이블 JOIN 하면 테이블과 컬럼명이 모두 동일하기 때문에 식별을 위해 반드시 alias를 사용해야 한다.

 

형식)

SELECT		*
FROM		TABLE1 AS A
			INNER JOIN TABLE1 AS B ON A.기준컬럼명 = B.기준컬럼명

 

 

Reference

https://ko.wikipedia.org/wiki/Join_(SQL) 

 

 

 

댓글