문제
다음 집합 연산 결과로 가장 적절한 것은?
SQLSELECT MAX(SAL) FROM EMP UNION SELECT MIN(SAL) FROM EMP;
<조건> EMP 테이블의 최대 급여는 9000, 최소 급여는 8925이며 두 값은 서로 다르다.
① 9000 ② 8925 ③ 9000, 8925 ④ NULL
정답
3번
해설
정답: 3. UNION은 두 SELECT 결과를 합치고 중복을 제거하므로 최대 급여 9000과 최소 급여 8925가 모두 출력된다.
오답 풀이
- 1번: MAX 결과만 포함한 값이다.
- 2번: MIN 결과만 포함한 값이다.
- 3번: MAX와 MIN 결과가 서로 다르면 두 행이 출력된다.
- 4번: 집계 결과가 존재하므로 NULL이 아니다.
보충 개념 UNION은 중복을 제거한 합집합이다. UNION ALL은 중복을 제거하지 않고 모든 결과를 그대로 합친다.