SQL 개발자 자격증SQL 활용집합 연산자난이도 2MCQ

SQL 개발자 자격증 집합 연산자 기출문제 #21896

문제

집합 연산자(UNION, UNION ALL, INTERSECT, MINUS)에 대한 설명으로 옳지 않은 것은?

① 두 SELECT 결과 컬럼의 데이터 타입이 상호 호환되더라도 반드시 완전히 동일한 데이터 타입으로 일치시켜야만 사용할 수 있다. ② UNION은 두 집합을 합친 뒤 중복 행을 제거하고 결과를 정렬한다. ③ UNION ALL은 중복 행을 제거하지 않으며 별도의 정렬 작업을 수행하지 않는다. ④ 집합 연산에 참여하는 각 SELECT 문의 컬럼 개수는 서로 같아야 한다.

정답

1

해설

정답은 ①이다. 집합 연산자는 각 SELECT의 컬럼 개수가 같고 대응 컬럼의 데이터 타입이 '상호 호환(compatible)'되면 사용할 수 있으며, 반드시 완전히 동일한 타입일 필요는 없다(예: 숫자끼리, 문자끼리 호환되면 됨). '무조건 동일 타입이어야 한다'는 서술이 틀렸다. ② UNION은 중복을 제거하며 이를 위해 내부적으로 정렬(Sort Unique)이 수반되므로 옳다. ③ UNION ALL은 중복 제거와 정렬을 하지 않아 UNION보다 빠르므로 옳다. ④ 대응되는 컬럼 개수 일치는 집합 연산의 필수 조건이므로 옳다. 보충: UNION은 정렬 비용이 있고, 중복 제거가 불필요하면 UNION ALL이 성능상 유리하다.

SQL 개발자 자격증 SQL 활용 다른 기출문제

SQL 개발자 자격증 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQL 개발자 자격증] 집합 연산자 SQL 활용 기출 #21896 | 문어CBT