2021 국가직9급 컴퓨터일반 8번 해설 — GROUP BY와 HAVING
정답 ①번출제 쟁점 GROUP BY와 HAVING발문 옳은 것 고르기
문제
제품테이블에대하여SQL 명령을실행한결과가다음과같을때, ㉠과㉡에들어갈내용을바르게연결한것은? <제품테이블> 제품ID 제품이름 단가 제조업체 P001 나사못 100 A P010 망치 1,000 B P011 드라이버 3,000 B P020 망치 1,500 C P021 장갑 800 C P022 너트 200 C P030 드라이버 4,000 D P031 절연테이프 500 D <SQL 명령> SELECT 제조업체, MAX(단가) AS 최고단가 FROM 제품 GROUP BY ( ㉠) HAVING COUNT(*) > ( ㉡) ; <실행결과> 제조업체 최고단가 B 3,000 C 1,500 D 4,000 ㉠ ㉡
- ① 제조업체 1 ← 정답
- ② 제조업체 2
- ③ 단가 1
- ④ 단가 2 컴퓨터일반 나
선지별 해설
① 제조업체 1
이 선지 진술은 옳음(O)
업체별 집계를 하려면 제조업체로 그룹화한다. B, C, D는 제품 수가 2개 이상이므로 COUNT(*) > 1 조건에 남는다.
② 제조업체 2
이 선지 진술은 틀림(X)
COUNT(*) > 2는 제품 수가 3개 이상인 그룹만 남긴다. 따라서 C만 남고 B와 D는 제외된다.
③ 단가 1
이 선지 진술은 틀림(X)
문제의 결과는 제조업체별 집계이므로 GROUP BY 대상은 제조업체여야 한다. 단가로 그룹화하면 업체별 최고단가 결과가 되지 않는다.
④ 단가 2 컴퓨터일반 나
이 선지 진술은 틀림(X)
단가 기준 그룹은 제조업체별 집계를 만들지 못한다. 또한 COUNT(*) > 2는 제시된 결과의 B와 D를 제외하게 된다.
핵심 요약 (Q&A)
- Q. 2021 국가직9급 컴퓨터일반 8번의 핵심 쟁점은 무엇인가?
- A. 2021 국가직9급 컴퓨터일반 8번은 GROUP BY와 HAVING에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
- Q. 2021 국가직9급 컴퓨터일반 8번의 정답은?
- A. 정답은 ①번입니다. 업체별 집계를 하려면 제조업체로 그룹화한다. B, C, D는 제품 수가 2개 이상이므로 COUNT(*) > 1 조건에 남는다.