반응형
집합 연산자 (UNION, UNION ALL, MINUS, INTERSECT)의 특징과 사용방법을 파악하는 문제입니다. 이 구문들은 자주 사용하기 때문에 꼭 알아둬야 합니다.
문제
아래 예문들이 결과로 나오는 건수를 적어주세요.
TABLE EMP | TABLE DEPT |
COL1 | COL1 |
1 | 3 |
1 | 4 |
3 | NULL |
NULL | NULL |
[예문1]
SELECT COL1 FROM EMP
UNION
SELECT COL1 FROM DEPT
Q) 몇 건이 리턴 될까요?
[예문2]
SELECT COL1 FROM EMP
UNION ALL
SELECT COL1 FROM DEPT
Q) 몇 건이 리턴 될까요?
[예문3]
SELECT COL1 FROM EMP
MINUS
SELECT COL1 FROM DEPT
Q) 몇 건이 리턴 될까요?
[예문4]
SELECT COL1 FROM EMP
INTERSECT
SELECT COL1 FROM DEPT
Q) 몇 건이 리턴 될까요?
문제풀이
- UNION : 합집합, 위 집합과 아래 집합의 데이터를 합쳐서 리턴할 때 같은 데이터는 하나만 리턴
[예문1]
SELECT COL1 FROM EMP
UNION
SELECT COL1 FROM DEP
Q) 몇 건이 리턴 될까요?
EMP | DEPT | 합집합 | UNION 중복제거 |
1 1 3 NULL |
3 4 NULL NULL |
1,1,3,NULL, 3,4,NULL, NULL |
1 3 4 NULL |
* 집합 내의 중복도 제거 되는걸 꼭 기억하세요 ( 1이 중복 제거 됌 ) |
- UNION ALL : 합집합, 위 집합과 아래 집합의 데이터를 합쳐서 리턴
[예문1]
SELECT COL1 FROM EMP
UNION ALL
SELECT COL1 FROM DEP
Q) 몇 건이 리턴 될까요?
EMP | DEPT | 합집합 | UNION ALL |
1 1 3 NULL |
3 4 NULL NULL |
1,1,3,NULL, 3,4,NULL, NULL |
1,1,3,NULL, 3,4,NULL, NULL |
* 두 집합 데이터 전체가 리턴 됩니다. |
- MINUS : 차집합, 위에 집합 중 아래 집합에 없는 데이터만 리턴
[예문1]
SELECT COL1 FROM EMP
MINUS
SELECT COL1 FROM DEP
Q) 몇 건이 리턴 될까요?
EMP | DEPT | 차집합 | MINUS |
1 1 3 NULL |
3 4 NULL NULL |
1, 1 ( 3, NULL은 DEPT에 있어서 제거 ) |
1 ( 중복 제거됌 ) |
* 집합 내의 데이터의 중복이 제거 되는걸 꼭 기억하세요!!! ( 1이 하나만 나옵니다. ) |
- INTERSECT : 교집합, 위 집합과 아래 집합에 겹치는 데이터만 리턴
[예문1]
SELECT COL1 FROM EMP
INTERSECT
SELECT COL1 FROM DEP
Q) 몇 건이 리턴 될까요?
EMP | DEPT | 차집합 | INTERSECT |
1 1 3 NULL |
3 4 NULL NULL |
3 NULL NULL |
3 NULL ( 중복 제거 됌 ) |
* 집합 내의 데이터의 중복이 제거 되는걸 꼭 기억하세요!!! ( NULL 이 하나만 나옵니다. ) |
보통 UNION 만 중복제거라고 생각하기 쉽지만 MINUS, INTERSECT도 중복이 제거 된다는 걸 꼭 기억해야 문제 풀 때 제대로 풀 수 있습니다.
추가적인 궁금증은 댓글로 달아주세요!! :)
반응형
'SQL' 카테고리의 다른 글
[SQLD 강의] 숫자 함수 차이 ( abs, round, ceil, floor, trunc ) (0) | 2022.11.29 |
---|---|
SQL 강의 SQLP SQLD 기출 문제 - 012 ( DATE TYPE, TRUNC, ROUND 함수 ) (0) | 2022.10.24 |
SQL 강의 SQLP SQLD 기출 문제 - 010 ( LIKE, JOIN ) (0) | 2022.10.20 |
SQL 강의 SQLP SQLD 기출 문제 - 009 ( UNION ALL ) (0) | 2022.10.13 |
SQL 강의 SQLP SQLD 기출 문제 - 008 ( COUNT 집계 함수 ) (0) | 2022.10.12 |
댓글