SQL 개발자 자격증SQL 활용GROUP BY HAVING 집계 해석난이도 2MCQ

SQL 개발자 자격증 GROUP BY HAVING 집계 해석 기출문제 #21872

문제

다음 SQL의 결과가 의미하는 대상으로 옳은 것은?

① 주문 수량의 총합이 10을 초과한 고객 ② 주문 횟수가 10회를 초과한 고객 ③ 모든 주문의 수량이 10을 초과한 고객 ④ 주문 수량이 10을 초과한 주문을 한 번이라도 한 고객

정답

4

해설

정답은 ④이다. 고객번호로 그룹화한 뒤 HAVING MAX(수량) > 10은 '그 고객의 주문 중 최대 수량이 10을 초과'하는 그룹만 남긴다. 어떤 그룹의 최댓값이 10보다 크다는 것은 그 고객이 수량 10을 넘는 주문을 적어도 한 건 했다는 뜻이므로 ④가 옳다. ① 총합 조건이라면 SUM(수량) > 10이어야 한다. ② 주문 횟수라면 COUNT(*) > 10이어야 한다. ③ '모든 주문이 10 초과'는 최솟값 조건 MIN(수량) > 10이어야 하며 MAX와 다르다. 보충: HAVING은 GROUP BY로 만들어진 그룹에 대한 필터로, 집계함수(MAX/MIN/SUM/COUNT/AVG) 결과를 조건으로 사용한다. 개별 행 필터인 WHERE와 구분해야 한다.

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

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

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

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