본문 바로가기
SQL

SQL 강의 SQLP SQLD 기출 문제 - 011 ( UNION, UNION ALL, MINUS, INTERSECT 등 )

by SQL Master 2022. 10. 21.
반응형

집합 연산자 (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이 하나만 나옵니다. )

 

  • 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도 중복이 제거 된다는 걸 꼭 기억해야 문제 풀 때 제대로 풀 수 있습니다.

추가적인 궁금증은 댓글로 달아주세요!! :)

 

반응형

댓글