2026 SQLD 필기 2과목 2장 2~3절 | 집합 연산·ROLLUP·CUBE·GROUPING — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 2과목 2장 2~3절 | 집합 연산·ROLLUP·CUBE·GROUPING — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.

문제 1

집합 연산·ROLLUP·CUBE·GROUPING에서 UNION과 UNION ALL에 대한 설명으로 옳은 것은?

  1. ① UNION ALL은 양쪽 결과의 중복을 유지한다.
  2. ② UNION은 컬럼 수가 달라도 자동 보정한다.
  3. ③ 집합 연산은 열 이름으로 자동 매칭한다.
  4. ④ UNION ALL은 자동으로 중복을 삭제한다.
정답과 해설 보기

정답 ①

UNION은 중복 결과 행을 제거하고 UNION ALL은 중복을 유지합니다. 양쪽 SELECT의 컬럼 수와 대응 자료형이 호환되어야 합니다. 열 이름이 같아야만 결합되는 것은 아니며 결과의 열 순서로 대응합니다. 중복을 유지해야 하는 거래 이력을 UNION으로 합치면 실제 두 거래가 하나처럼 보일 수 있습니다. 성능만이 아니라 결과 의미를 기준으로 선택하세요.

기억할 핵심

UNION ALL은 양쪽 결과의 중복을 유지한다.

문제 2

A결과 1,1과 B결과 1,2를 UNION과 UNION ALL로 결합한 행 수는?

  1. ① 3행,3행
  2. ② 1행,4행
  3. ③ 4행,2행
  4. ④ 2행,4행
정답과 해설 보기

정답 ④

UNION은 1·2 두 값, UNION ALL은 1·1·1·2 네 행을 반환합니다.

기억할 핵심

UNION ALL은 양쪽 결과의 중복을 유지한다.

문제 3

집합 연산·ROLLUP·CUBE·GROUPING에서 교집합과 차집합에 대한 설명으로 옳은 것은?

  1. ① A MINUS B는 항상 B MINUS A와 같다.
  2. ② MINUS는 숫자 뺄셈 컬럼만 지원한다.
  3. ③ INTERSECT는 합집합이다.
  4. ④ 차집합은 왼쪽 결과에서 오른쪽에 있는 값을 제외한다.
정답과 해설 보기

정답 ④

INTERSECT는 두 결과의 공통 행, Oracle의 MINUS나 표준 계열의 EXCEPT는 왼쪽에만 있는 행을 반환합니다. 차집합은 방향이 있어 A-B와 B-A가 다를 수 있습니다. 제품별 지원 이름과 ALL 변형 지원을 구분해야 합니다. 기본적인 DISTINCT 집합 연산은 중복을 제거합니다. NULL 비교에서는 일반 WHERE의 = 비교와 집합 중복 판정 규칙을 혼동하지 않도록 실제 연산의 의미를 보세요.

기억할 핵심

차집합은 왼쪽 결과에서 오른쪽에 있는 값을 제외한다.

문제 4

A={1,2,3}, B={2,4}에서 A MINUS B는?

  1. ① 1,3
  2. ② 4
  3. ③ 1,2,3,4
  4. ④ 2
정답과 해설 보기

정답 ①

A에 있으면서 B에 없는 1과 3이 남습니다.

기억할 핵심

차집합은 왼쪽 결과에서 오른쪽에 있는 값을 제외한다.

문제 5

집합 연산·ROLLUP·CUBE·GROUPING에서 ROLLUP의 계층 소계에 대한 설명으로 옳은 것은?

  1. ① ROLLUP은 컬럼 순서와 무관하다.
  2. ② ROLLUP(a,b)는 b별 소계만 만든다.
  3. ③ ROLLUP(a,b)는 (a,b), (a), 전체 총계 수준을 만든다.
  4. ④ ROLLUP은 결과를 항상 오름차순 보장한다.
정답과 해설 보기

정답 ③

ROLLUP(a,b)는 (a,b), (a), () 수준을 만듭니다. a·b별 상세 합계, a별 소계, 전체 총계입니다. 컬럼 순서를 바꾸면 중간 소계 기준이 바뀌므로 ROLLUP(b,a)와 동일하지 않습니다. 결과에 NULL이 보인다고 무조건 원본 결측값인 것은 아닙니다. 소계 표시를 위해 생긴 NULL과 원본 NULL을 구별하려면 GROUPING 함수를 활용합니다. 결과 정렬은 별도로 지정해야 합니다.

기억할 핵심

ROLLUP(a,b)는 (a,b), (a), 전체 총계 수준을 만든다.

문제 6

ROLLUP(지역,상품)에 기본적으로 포함되지 않는 수준은?

  1. ① 상품만의 소계
  2. ② 전체 총계
  3. ③ 지역별 소계
  4. ④ 지역·상품별 합계
정답과 해설 보기

정답 ①

ROLLUP은 왼쪽부터 계층을 유지하므로 상품만의 소계는 별도로 만들지 않습니다.

기억할 핵심

ROLLUP(a,b)는 (a,b), (a), 전체 총계 수준을 만든다.

문제 7

집합 연산·ROLLUP·CUBE·GROUPING에서 CUBE와 GROUPING SETS에 대한 설명으로 옳은 것은?

  1. ① GROUPING SETS는 필요한 집계 수준을 명시적으로 선택한다.
  2. ② GROUPING SETS에는 전체 총계만 적을 수 있다.
  3. ③ CUBE(a,b)는 항상 ROLLUP과 같은 세 수준이다.
  4. ④ 그룹 수준 수와 실제 결과 행 수는 항상 같다.
정답과 해설 보기

정답 ①

CUBE(a,b)는 (a,b),(a),(b),()의 모든 조합 수준을 만듭니다. GROUPING SETS는 필요한 그룹 조합만 명시합니다. CUBE의 n개 컬럼은 최대 2의 n제곱 개 그룹 수준을 만들 수 있으므로 컬럼이 늘면 결과가 커집니다. 모든 조합이 필요한 것이 아니라면 GROUPING SETS((지역),(상품))처럼 요구 수준만 지정할 수 있습니다. 이 경우 전체 총계는 ()를 명시하지 않으면 자동 포함되는 것으로 가정하지 않습니다.

기억할 핵심

GROUPING SETS는 필요한 집계 수준을 명시적으로 선택한다.

문제 8

CUBE(a,b)의 그룹 수준 수는?

  1. ① 4개
  2. ② 3개
  3. ③ 2개
  4. ④ 8개
정답과 해설 보기

정답 ①

a,b를 포함하거나 제외하는 조합은 2²=4개입니다. 실제 결과 행 수는 각 그룹의 값 개수에 따라 달라집니다.

기억할 핵심

GROUPING SETS는 필요한 집계 수준을 명시적으로 선택한다.

문제 9

집합 연산·ROLLUP·CUBE·GROUPING에서 GROUPING으로 소계 구분에 대한 설명으로 옳은 것은?

  1. ① 소계 표시용 NULL은 GROUPING으로 원본 NULL과 구분할 수 있다.
  2. ② GROUPING은 원본 값이 NULL이면 항상 1이다.
  3. ③ GROUPING은 NULL을 모두 삭제한다.
  4. ④ 소계에는 반드시 문자열 전체가 자동 입력된다.
정답과 해설 보기

정답 ①

GROUPING(컬럼)은 해당 컬럼이 집계 수준에서 제외되어 소계 표시가 된 경우 1, 실제 그룹 컬럼인 경우 0을 반환합니다. 원본 데이터의 NULL이라도 실제 그룹 값으로 참여했다면 GROUPING=0입니다. COALESCE(지역,전체)만 쓰면 원본 지역 미입력과 전체 총계를 같은 이름으로 표시할 수 있습니다. GROUPING을 CASE에서 사용하면 미입력과 소계를 구분한 라벨을 만들 수 있습니다.

기억할 핵심

소계 표시용 NULL은 GROUPING으로 원본 NULL과 구분할 수 있다.

문제 10

원본 지역=NULL인 그룹의 GROUPING(지역)과 전체 총계의 값은?

  1. ① 0,0
  2. ② 0,1
  3. ③ 1,0
  4. ④ 1,1
정답과 해설 보기

정답 ②

원본 NULL도 실제 지역 그룹이므로 0, 집계에서 지역을 제외한 총계는 1입니다.

기억할 핵심

소계 표시용 NULL은 GROUPING으로 원본 NULL과 구분할 수 있다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

관련 이론 다시 보기

이전 · 서브쿼리·EXISTS·스칼라 서브쿼리

다음 · 윈도우 함수·순위·Top N

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

스터디클럽의 다른 강의 보기