[MSSQL] Union,UnionAll 사용법 & 예제
- DB/MSSQL
- 2018. 2. 13.
Union이란?
Union은 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법입니다.
두 개의 쿼리의 합집합을 만들어준다고 생각하면 될듯합니다.
Union과 UnionAll의 차이점
Union과 UnionAll은 두 쿼리문을 하나로 합쳐준다는 것에 공통점이 있습니다.
하지만 Union은 두 쿼리의 결과의 중복값을 제거해서 보여주고,
UnionAll은중복된 값도 전부 다 보여준다는 차이점이 있습니다.
속도는 당연히 중복 값 제거를 위해 연산을 한번 더 해야 하기 때문에
UnionAll이 Union보다 더 빠르겠죠?
Union 사용 시 주의점
☞ 칼럼명이 같아야 한다. (같지 않을 경우 AS를 사용하여 같게 만들어주면 됩니다.)
☞ 칼럼 별 데이터 타입이 같아야 합니다.
UNION / UNION ALL 사용법
쿼리문1
Union/UnionAll
쿼리문2
1. 두 개의 테이블 조회 쿼리문 합집합 구하기
SELECT * FROM EX_TABLE1
Union/UnionAll
SELECT * FROM EX_TABLE2
2. 품목별 총합계금액 구하기
SELECT
COMPANY,
ITEM,
MAX(AM) AS AM,
MAX(QT_IO) AS QT_IO,
MAX(AM_RETURN) AS AM_RETURN,
MAX(QT_RETURN) AS QT_RETURN,
MAX(AM)*MAX(QT_IO)-MAX(AM_RETURN)*MAX(QT_RETURN) AS AM_TOT
FROM
(
SELECT
COMPANY,
ITEM,
AM,
QT_IO,
'0'AM_RETURN,
'0'QT_RETURN
FROM EX_TABLE01
UNION ALL
SELECT
COMPANY,
ITEM,
'0'AM,
'0'QT_IO,
AM AS AM_RETURN,
QT_RETURN
FROM EX_TABLE02
)UN
group by COMPANY,ITEM
[MS_SQL] 서브 쿼리(SubQuery) 사용법 & 예제
'DB > MSSQL' 카테고리의 다른 글
[MSSQL] 프로시저 생성,조회,수정,삭제 (5) | 2018.02.19 |
---|---|
[MSSQL] 서브쿼리(SubQuery) 사용법 & 예제 (2) | 2018.02.19 |
[MSSQL] JOIN의 종류설명 및 사용법 & 예제 (6) | 2018.02.12 |
[MSSQL] GROUP BY, HAVING, DISTINCT절 사용하기 (0) | 2018.02.08 |