반응형
집합 연산자 UNION, INTERSECT, EXCEPT에 대해 알아보자
UNION / UNION ALL |
SELECT * FROM 테이블A
UNION
SELECT * FROM 테이블B
테이블A와 테이블B의 모든 데이터를 출력한다.
조회하려는 컬럼의 수는 일치해야 한다.
UNION은 중복된 행을 하나의 행으로 출력하고, UNION ALL은 중복된 행을 그대로 출력한다.
즉, 중복을 제거하며 결과를 가져오는 UNION보다는 UNION ALL의 속도가 더 빠르다.
INTERSECT
교집합 (A∩B)
SELECT * FROM 테이블A
INTERSECT
SELECT * FROM 테이블B
테이블A와 테이블B의 데이터 중 일치하는 데이터만 출력한다.
EXCEPT |
차집합 (A-B)
SELECT * FROM 테이블A
EXCEPT
SELECT * FROM 테이블B
테이블A에 있는 데이터에서 테이블B와 중복을 제외한 데이터를 출력한다.
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] 특정 기간에 해당하는 모든 날짜 (MASTER..SPT_VALUES) (0) | 2017.02.13 |
---|---|
[MSSQL] ORDER BY CASE (조건정렬) (0) | 2017.02.13 |
[MSSQL] 문자열을 뒤에서 부터 구분자로 잘라보자 (RIGHT, REVERSE, CHARINDEX, PATHINDEX) (0) | 2017.02.13 |
[MSSQL] ' (따옴표) 포함된 문자열 출력 (0) | 2017.02.13 |
[MSSQL] 조건절 LIKE 검색 조건 (ESCAPE 특수문자 와일드 카드 (예약어) 검색) (0) | 2017.02.13 |