학습용 기출·복원자료 분류 확인SQLD · 2024년 53회 SQL 기본 및 활용 · 32번
집합 연산자에 관한 설명으로 옳지 않은 것은?
1
UNION 연산자는 합집합 결과에 중복된 행을 하나의 행으로 만든다.
오답 이유UNION은 두 결과를 합치면서 중복 행을 제거한다. 따라서 1번 보기 ‘UNION 연산자는 합집합 결과에 중복된 행을 하나의 행으로 만든다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
UNION ALL 연산자는 집합 간의 결과가 중복되지 않는 경우, UNION과 결과가 동일하다.
오답 이유두 결과 집합에 공통 행이 없다면 UNION과 UNION ALL의 최종 행 집합은 같다. 따라서 2번 보기 ‘UNION ALL 연산자는 집합 간의 결과가 중복되지 않는 경우, UNION과 결과가 동일하다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
UNION 연산자를 사용한 SQL은 각각의 집합에 GROUP BY절을 사용할 수 있다.
오답 이유집합 연산을 구성하는 각 SELECT 문에서는 필요한 GROUP BY를 사용할 수 있다. 따라서 3번 보기 ‘UNION 연산자를 사용한 SQL은 각각의 집합에 GROUP BY절을 사용할 수 있다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
UNION 연산자를 사용한 SQL은 각각의 집합에 ORDER BY절을 사용할 수 있다.
정답 근거최종 정렬을 위한 ORDER BY는 집합 연산 전체의 마지막에 한 번 작성해야 하므로 각 SELECT마다 사용할 수 있다는 설명은 틀리다. 따라서 4번 보기 ‘UNION 연산자를 사용한 SQL은 각각의 집합에 ORDER BY절을 사용할 수 있다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 4번
이 문항에서 조건에 맞지 않는 보기는 4번 ‘UNION 연산자를 사용한 SQL은 각각의 집합에 ORDER BY절을 사용할 수 있다.’입니다. UNION 계열 집합 연산의 ORDER BY는 결합된 최종 결과에 적용하며 문장 맨 끝에 한 번 둔다. 각 SELECT마다 ORDER BY를 붙인다는 설명은 옳지 않다.