일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- c#
- windows10
- 오라클
- MSSQL PYTHON
- MX Component
- pymssql
- 텐서플로우
- rs422
- Serial
- 딥러닝
- Python
- 자본주의
- rs485
- tensorflow
- MEAN Stack
- M2M
- 파이썬
- 장고
- PYTHON MSSQL
- oracle
- 윈도우10
- Visual Studio Code
- vscode
- 티스토리 초대장
- MSSQL
- 크롤링
- django
- matplot
- sql developer
- scrapy
Archives
- Today
- Total
안까먹을라고 쓰는 블로그
[SQL Query] UNION, INTERSECT, EXCEPT (Feat. 집합연산) 본문
반응형
여러개의 테이블의 합집합을 구할 때는 UNION(합)이라는 연산자를 사용합니다.
■ UNION으로 합집합 구하기
SELECT * FROM Address
UNION
SELECT * FROM Address2
결과는 문자 그대로 두 개의 테이블을 합친 결과가 나옵니다.
※ 중복제거 관련
- UNION으로 합집할을 구할 때는 중복된 레코드가 있으면 제거 합니다. "INTERSECT", "EXCEPT" 등에서도 같습니다. 만약 중복을 제외하고 싶지 않다면 "UNION ALL"처럼 "ALL" 옵션을 붙이면 됩니다.
■ INTERSECT로 교집합 구하기
SELECT * FROM Address
INTERSECT
SELECT * FROM Address2
결과는 양쪽 테이블에 공통으로 존재하는 레코드만 출력 됩니다.
중복 된 것이 있다면 해당 레코드는 제외됩니다.
■ EXCEPT로 차집합 구하기
SELECT * FROM Address
EXCEPT
SELECT * FROM Address2
이를 수식으로 나타내면 'Address - Address2' 가 됩니다. 그래서 EXCEPT에는 UNION과 INTERSECT에는 없는 주의 사항이 있습니다. UNION과 INTERSECT는 어떤 테이블을 먼저 적든 그 순서와 상관없이 결과가 같습니다. 하지만 EXCEPT의 경우는 결과가 다릅니다.
※ ORACLE을 사용시에는 EXCEPT 가 아니고, 독저작으로 MINUS라는 이름의 연산자를 사용하고 있습니다.
반응형
'DataBase' 카테고리의 다른 글
[SQL Query] 구매이력에서 고객 별 (가장 최신이력 - 오래된 이력)의 구매가격(price)의 차이를 구하시오 (0) | 2022.01.07 |
---|---|
[SQL Query] Cursor (0) | 2022.01.07 |
Comments