티스토리 뷰
TABLE_A TABLE_B
----------------- -----------------
FLD1 FLD1
----------------- -----------------
1 5
2 3
3 1
----------------- -----------------
이 때...
SELECT FLD1 FROM TABLE_A
UNION ALL
SELECT FLD1 FROM TABLE_B
하면 결과는
-----------------
FLD1
-----------------
1
2
3
5
3
1
-----------------
이 됩니다. 두 쿼리의 결과를 단순히 합친 것이죠.
그런데
SELECT FLD1 FROM TABLE_A
UNION
SELECT FLD1 FROM TABLE_B
하면 결과는
-----------------
FLD1
-----------------
1
2
3
5
-----------------
이 됩니다. 두 테이블의 결과를 합치되, 중복된 값을 제외하죠.
이렇게 중복을 제거하기 위해 불가피하게 '소트'를 하게 됩니다.
따라서 자료가 많거나 Index가 되어 있지 않은 필드를 대상으로 하게 되면
쿼리 시간이 길어질 수 있습니다.
'SQL > MS-SQL' 카테고리의 다른 글
DB파일 용량 줄이기 (파일 최적화) (0) | 2019.06.27 |
---|---|
SQL2008 SQLEXPRESS 고정 IP 설정 (0) | 2019.06.27 |
쿼리 결과를 파일로 내보내기 (0) | 2019.06.27 |
숫자인지 아닌지 확인하는 함수 (0) | 2019.06.27 |
테이블에 컬럼 추가하기 (0) | 2019.06.27 |
- Total
- Today
- Yesterday