SQL Server/SSIS 강좌

병합 조인( 두 개의 입력된 데이터를 조인 하자)

SungWookKang 2015. 7. 16. 09:38
반응형

SSIS - 병합 조인( 두 개의 입력된 데이터를 조인 하자)

 

오늘의 병합 조인을 하기 위해서는 반드시 이전 시간의 병합 에 대해서 꼭 학습 하여야 합니다.

   

병합 포스팅 : http://blog.naver.com/jevida/140149753108

   

   

병합 조인이란 무엇인가?

   

병합 조인은 병합과 마찬가지로 정렬되어 입력 된 2개의 데이터를 조인 하는 것 입니다.

   

단 수행 할수 있는 조인으로는 아래의 종류가 있습니다.

내부 조인 (INNER JOIN)

왼쪽 우선 조인 (LEFT OUTER JOIN)

완전 조인 (FULL OUTER JOIN)

   

병합 조인은 두 개의 입력에 대해서만 조인 할 수 있는데 이는 SQL 쿼리문을 작성하여 실행하는 것 보다 불편 할 수도 있습니다.

하지만 이기종 DBMS 및 테이블 데이터가 아닌 경우에도 임시 테이블을 사용하지 않고 직접 조인 연산을 수행 할 수 있는 장점이 있습니다,.

   

병합 조인은 병합과 마찬가지로 입력 데이터가 정렬되어 있어야 합니다.

   

실습으로 알아 보도록 하겠습니다.

   

1. 실습 데이터를 생성 합니다.

Adventure Works 데이터베이스의 Person.Address 테이블의 데이터를 사용 합니다.

   

아래의 그림에 있는 쿼리 처럼 실습용 데이터를 추출 합니다.

   

 

   

   

2. BIDS를 실행하여 SSIS 패키지를 생성 합니다.

   

아래의 그림 처럼 SSIS 작업에 [병합 조인] 등록 합니다.

   

* 병합 아이콘과 유사하게 생겼으니 유의 할 것.

 

 

   

3.  출력선을 병합 조인으로 끌어다 놓으면 [입/출력] 선택 창이 나타납니다.

   

이때 병합의 기준을 [병합 조인 왼쪽 입력] 으로 할 것인지 [병합 조인 오른쪽 입력]을 할 것인지 선택 합니다.

   

실습에서는 기본 왼쪽으로 하도록 하겠습니다.

 

 

   

   

4. [병합 조인] 작업에서 [편집]을 선택 합니다.

   

만약 [편집] 버튼을 선택 했을 때 경고 창이 나타난다면 입력 데이터 (TBL_A, TBL_B)

 정렬이 되지 않았을 수도 있으니 반드시 정렬을 확인 합니다.

정렬 방법 : http://blog.naver.com/jevida/140149753108

   


 

 

   

5. [병합 조인 변화 편집기] 창에서 [조인 유형]을 선택 합니다.

   

실습에서는 [완전 외부 조인] 으로 하도록 하겠습니다.

   

아래 그림에서 출력 별칭은 사용자 수정이 가능 합니다.

 

 

   

6. 출력 선을 모두 연결 하였으면 TBL_C 에서 편집을 선택합니다.

 

 

   

7. TBL_C 의 대상 편집기 창에서 속성을 설정 합니다.

[매핑] 탭에서 해당 컬럼의 매핑을 설정 합니다.

 

 

   

8. 패키지를 실행 합니다.

   

늘 그러듯~

   

녹색 : 정상 실행

   

빨간색 : 오류

   

각 테이블의 7건 데이터를 병합 조인하여 총 10건의 결과물이 출력 되었습니다.

 

 

   

9. SSMS에서 데이터가 잘 입력 되었는지 확인 합니다.

FULL OUTER JOIN 이 잘 되었나요?

   


 

 

   

SSIS의 병합 조인을 이용하여 테이블 형식이 아닌 데이터를  조인할 때 유용하게 활용 할 수 있을 듯 합니다.  

 

강성욱 / http://sqlmvp.kr

 

반응형