IT
[MSSQL] 컬럼이 같은 3개의 테이블 UNION을 사용하여 병합하기
멀배야
2022. 3. 2. 15:45
안녕하세요 멀배야입니다!
오늘은 컬럼이 같은 3개의 테이블을 하나의 테이블로 병합하는 방법을 알아보겠습니다.
test1, test2, test3 테이블을 work라는 새로운 테이블에 병합하고 싶을때,
예제
test1
NO | NAME | PHONE | |
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 | |
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 | |
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로 지정해주지 않아도 됩니다.)