2026 SQLD 필기 2과목 1장 5~6절 | 집계·GROUP BY·HAVING·ORDER BY — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 2과목 1장 5~6절 | 집계·GROUP BY·HAVING·ORDER BY — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

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

문제 1

집계·GROUP BY·HAVING·ORDER BY에서 GROUP BY의 결과 단위에 대한 설명으로 옳은 것은?

  1. ① GROUP BY의 컬럼 조합이 집계 결과 한 행의 단위를 정한다.
  2. ② 그룹 컬럼을 추가해도 결과 단위는 변하지 않는다.
  3. ③ GROUP BY는 항상 원본과 같은 행 수다.
  4. ④ 집계에 없는 모든 컬럼을 아무 기준 없이 SELECT할 수 있다.
정답과 해설 보기

정답 ①

GROUP BY 부서는 같은 부서 값을 묶어 그룹마다 집계합니다. SELECT에서 집계하지 않은 컬럼은 일반적으로 GROUP BY에 포함해야 합니다. 부서별 합계 옆에 임의의 직원명을 그대로 선택하면 어느 직원을 표시해야 할지 불명확합니다. GROUP BY에 지역과 상품을 함께 쓰면 지역별이 아니라 지역·상품 조합별 결과가 됩니다. 그룹 컬럼을 하나 추가하면 결과 행 수가 늘 수 있으므로 문제의 요구 단위와 비교하세요.

기억할 핵심

GROUP BY의 컬럼 조합이 집계 결과 한 행의 단위를 정한다.

문제 2

서울 A 10, 서울 A 20, 서울 B 5를 지역·상품별 합계로 묶으면?

  1. ① 원본 세 행 유지
  2. ② A 10 한 행만
  3. ③ 서울 A 30, 서울 B 5
  4. ④ 서울 35 한 행
정답과 해설 보기

정답 ③

지역과 상품의 조합이 기준이므로 서울·A 두 행은 30으로 합쳐지고 서울·B는 5입니다.

기억할 핵심

GROUP BY의 컬럼 조합이 집계 결과 한 행의 단위를 정한다.

문제 3

집계·GROUP BY·HAVING·ORDER BY에서 WHERE와 HAVING에 대한 설명으로 옳은 것은?

  1. ① HAVING SUM(amount)>=100은 그룹 합계가 100 이상인 그룹을 남긴다.
  2. ② WHERE SUM(amount)>=100은 모든 DBMS에서 기본 문법이다.
  3. ③ HAVING은 원본 테이블을 삭제한다.
  4. ④ WHERE와 HAVING은 언제나 같은 결과다.
정답과 해설 보기

정답 ①

WHERE는 집계 전 행, HAVING은 집계 후 그룹을 거릅니다. 매출 100 이상 거래만 합산하는 것과 전체 거래를 합산한 뒤 합계 100 이상 부서만 남기는 것은 다른 결과입니다. 집계 함수 조건은 HAVING에 두는 것이 기본입니다. 행 조건을 불필요하게 집계 후로 미루면 의미가 달라질 수 있습니다. 어떤 자료가 분모·합계의 입력에 포함되는지 먼저 결정하고 조건 위치를 고르세요.

기억할 핵심

HAVING SUM(amount)>=100은 그룹 합계가 100 이상인 그룹을 남긴다.

문제 4

A부서 매출이 60과 60이다. WHERE 매출>=100과 HAVING SUM(매출)>=100의 차이는?

  1. ① 둘 다 120을 남긴다.
  2. ② 둘 다 매출 60 두 행을 반환한다.
  3. ③ 전자는 120이고 후자는 없다.
  4. ④ 전자는 행이 없고 후자는 A부서 합계 120을 남긴다.
정답과 해설 보기

정답 ④

행마다 100 미만이므로 WHERE에서 모두 제거됩니다. 전체를 묶으면 합계 120이라 HAVING을 통과합니다.

기억할 핵심

HAVING SUM(amount)>=100은 그룹 합계가 100 이상인 그룹을 남긴다.

문제 5

집계·GROUP BY·HAVING·ORDER BY에서 조건부 집계에 대한 설명으로 옳은 것은?

  1. ① COUNT(CASE WHEN 조건 THEN 1 ELSE 0 END)는 0을 제외한다.
  2. ② CASE를 집계 안에 사용할 수 없다.
  3. ③ SUM은 문자열 여부와 관계없이 건수만 센다.
  4. ④ COUNT(CASE WHEN 조건 THEN 1 END)는 조건을 만족한 행을 셀 수 있다.
정답과 해설 보기

정답 ④

SUM(CASE WHEN 조건 THEN 값 ELSE 0 END)은 조건을 만족하는 값만 합산합니다. COUNT(CASE WHEN 조건 THEN 1 END)는 ELSE가 NULL인 행을 제외해 조건부 건수를 셀 수 있습니다. ELSE 0을 넣은 COUNT는 0도 세므로 의도가 달라집니다. 조건부 집계는 같은 원본에서 여러 지표를 나란히 만들 때 유용합니다. 다만 할인 건수와 할인 금액을 혼동하지 않도록 CASE가 반환하는 값과 집계 함수의 의미를 함께 확인하세요.

기억할 핵심

COUNT(CASE WHEN 조건 THEN 1 END)는 조건을 만족한 행을 셀 수 있다.

문제 6

세 행 중 조건을 만족하는 행이 두 개다. COUNT(CASE WHEN 조건 THEN 1 ELSE 0 END)는?

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

정답 ①

ELSE 0도 NULL이 아니므로 COUNT가 세 행을 모두 셉니다. 조건부 건수는 ELSE를 생략하거나 SUM을 사용합니다.

기억할 핵심

COUNT(CASE WHEN 조건 THEN 1 END)는 조건을 만족한 행을 셀 수 있다.

문제 7

집계·GROUP BY·HAVING·ORDER BY에서 정렬 방향과 다중 기준에 대한 설명으로 옳은 것은?

  1. ① 다중 정렬은 앞의 키가 동률일 때 다음 키를 적용한다.
  2. ② DESC는 언제나 모든 컬럼에 한꺼번에 적용된다.
  3. ③ ORDER BY가 없으면 PK 순서가 보장된다.
  4. ④ NULL의 기본 정렬 위치는 모든 DBMS에서 같다.
정답과 해설 보기

정답 ①

ORDER BY는 최종 결과의 순서를 정합니다. 기본 방향은 보통 ASC이며, 여러 키는 왼쪽부터 우선합니다. ORDER BY amount DESC,id ASC라면 금액이 같은 행끼리 id가 작은 순으로 정렬됩니다. 동률의 순서를 정하지 않으면 실행마다 같은 순서라고 보장하기 어렵습니다. 페이징이나 TOP N에서는 고유한 보조 키를 포함하는 것이 재현성을 높입니다. NULL의 기본 정렬 위치는 DBMS별로 다를 수 있습니다.

기억할 핵심

다중 정렬은 앞의 키가 동률일 때 다음 키를 적용한다.

문제 8

(id,금액)이 (2,100),(1,100),(3,90)일 때 금액 DESC,id ASC 순서는?

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

정답 ④

금액 100이 먼저이고 같은 금액에서는 id 1이 2보다 앞입니다.

기억할 핵심

다중 정렬은 앞의 키가 동률일 때 다음 키를 적용한다.

문제 9

집계·GROUP BY·HAVING·ORDER BY에서 빈 집합과 집계 결과에 대한 설명으로 옳은 것은?

  1. ① 빈 집합의 SUM은 항상 0이다.
  2. ② COUNT(*)는 빈 집합에서 오류다.
  3. ③ 전체 집계와 GROUP BY 집계는 빈 입력에서 결과 행 수가 항상 같다.
  4. ④ 입력 행이 없는 전체 집계에서 COUNT(*)는 0이다.
정답과 해설 보기

정답 ④

그룹 없이 전체를 집계하면 입력 행이 없어도 COUNT(*)는 0을 반환하고 SUM 등은 일반적으로 NULL을 반환합니다. GROUP BY가 있으면 만들 그룹 자체가 없어 결과 행이 0개일 수 있습니다. 0과 NULL, 결과 행 없음은 다른 상태입니다. 화면에서 합계를 0으로 표시하려면 COALESCE(SUM(amount),0)을 검토할 수 있지만 데이터가 실제 없다는 의미를 숨기지 않도록 요구사항을 확인합니다.

기억할 핵심

입력 행이 없는 전체 집계에서 COUNT(*)는 0이다.

문제 10

그룹 없이 SELECT COUNT(*),SUM(amount)를 빈 테이블에 실행하면?

  1. ① 항상 오류
  2. ② 0, NULL인 한 행
  3. ③ 결과 행 없음
  4. ④ NULL,0인 한 행
정답과 해설 보기

정답 ②

전체 집계는 한 행을 반환하며 COUNT는 0, SUM은 NULL입니다.

기억할 핵심

입력 행이 없는 전체 집계에서 COUNT(*)는 0이다.

범위 확인

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

관련 이론 다시 보기

이전 · WHERE·날짜 범위·연산자 우선순위

다음 · INNER·OUTER·표준 조인

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

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