본문 바로가기
프로그래밍/DB & Redis

[MSSQL] Union

by 뽀도 2015. 8. 12.

[출처 : 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} 로 나온다.

 

 

 

 

 

반응형

'프로그래밍 > DB & Redis' 카테고리의 다른 글

[MSSQL] 단일 사용자 모드 설정/해제  (0) 2015.08.19
[mssql] uniquekey 설정, 해제  (0) 2015.08.13
NHibernate  (0) 2015.08.04
EXISTS로 시작하는 하위 쿼리  (0) 2015.07.29
MS-SQL 다중 업데이트  (0) 2015.07.15

댓글