[MSSQL] Union

[출처 : https://msdn.microsoft.com/ko-kr/library/ms180026(v=SQL.120).aspx]

 

Union 

 

 둘 이상의 쿼리 결과를 각 해당 쿼리에 속하는 모든 행이 포함된 하나의 집합으로 결합합니다. Union 연산은 두 테이블의 결합하는 조인을 사용하는 것과는 다릅니다.

 

기본 규칙

 - 열의 개수와 순서가 모든 쿼리에서 동일해야 합니다.

 - 데이터 형식이 호환되어야 합니다.

 

 

테이블의 열의 개수와 순서가 같은 attendanceRecord201508,attendanceRecord201507이 있다고 가정합니다.

------------------------------------------------------------------------

DB name :  attendanceRecord201507, attendanceRecord201508

------------------------------------------------------------------------

DB 열 : |EmployeeName | EmployeeId |attendanceTime|closingHoure|

------------------------------------------------------------------------

 

 

이중에서 사원번호가 162번인 노덕례씨의 출근 시간이 보고 싶다고 가정하고 쿼리를 하겠습니다.

 

------------------------------------------------------------------------

select  EmployeeName,EmployeeId,attendanceTime

from  attendanceRecord201507

where EmployeeId= 162

 

union

 

select  EmployeeName,EmployeeId,attendanceTime

from  attendanceRecord201508

where EmployeeId= 162

------------------------------------------------------------------------

 

위와 같이 쿼리하면

노덕례씨의 7월 8월 출근 시간이 쿼리되어 나옵니다.

 

 

 

Union all 도 있는데 간단히 설명하면

 

A = { a,b,c}, B = {b,c,d}  이런 데이터가 있을때

Union all 하면

 

{a,b,c,b,c,d}로 나오고

 

Union 하면

 

{a,b,c,d} 로 나온다.