IT

[MSSQL] 컬럼이 같은 3개의 테이블 UNION을 사용하여 병합하기

멀배야 2022. 3. 2. 15:45

안녕하세요 멀배야입니다!

 

오늘은 컬럼이 같은 3개의 테이블을 하나의 테이블로 병합하는 방법을 알아보겠습니다.

test1, test2, test3 테이블을 work라는 새로운 테이블에 병합하고 싶을때,

 

예제

test1

NO NAME PHONE E-MAIL
1 홍길동 010-1234-5678 gildong@naver.com
2 김민수 010-2345-6789 ms2345@naver.com
3 이영희 010-3456-7890 zeroh@nate.com

test2

NO NAME PHONE E-MAIL
4 박영철 010-4444-5555 dudcjf@daum.net
5 김정숙 010-5555-6666 quiet55@naver.com
6 이영자 010-6666-7777 dudwk501@nate.com

test3

NO NAME PHONE E-MAIL
7 하민영 010-7878-6767 minyoung@daum.net
8 정태호 010-8989-7878 taeho00@naver.com
9 남궁현 010-9090-8989 ghnam@kakao.com

컬럼이 같은 3개의 테이블을 병합하고 싶다면 UNION을 사용해주시면 됩니다.

 

select * into [데이터베이스].[DBO].[work]

from ( select * from [데이터베이스].[DBO].[test1]

union

select * from [데이터베이스].[DBO].[test2]

union

select * from [데이터베이스].[DBO].[test3] ) as temp

 

[데이터베이스]는 test1, test2, test3 테이블이 저장되어 있는 곳을 말합니다.

work는 union이 실행되면서 새롭게 생성되는 테이블이기 때문에 따로 생성해주지 않아도 됩니다.

temp는 work로 병합되기전 임시 테이블이라고 생각해주시면 됩니다. (꼭 테이블명을 temp로 지정해주지 않아도 됩니다.)