SQL 개발자 자격증SQL 활용GROUPING 함수난이도 2MCQ

SQL 개발자 자격증 GROUPING 함수 기출문제 #20235

문제

소계 함수(ROLLUP/CUBE)와 함께 사용되는 GROUPING 함수의 특징은?

① 집계 연산으로 생성된 NULL 항목에 대해 1을 반환한다. ② 집계에 사용되지 않은 데이터는 무조건 에러가 난다. ③ 데이터 자체에 들어있는 NULL과 집계로 인한 NULL을 구분할 수 없다. ④ ROLLUP에만 사용할 수 있다.

정답

1

해설

정답: 1. GROUPING 함수는 ROLLUP/CUBE/GROUPING SETS 가 만들어 낸 소계·총계 행의 NULL(집계로 인한 NULL)이면 1을, 그렇지 않으면 0을 반환한다.

오답 풀이

  • ①: 정답.
  • ②: 집계에 쓰이지 않은 데이터로 에러가 나지 않는다. GROUPING 은 단지 0/1 을 돌려줄 뿐이다.
  • ③: 정반대다. GROUPING 함수의 존재 이유가 바로 '원본 데이터의 NULL'과 '집계로 생성된 NULL'을 구분하는 것이다.
  • ④: ROLLUP 뿐 아니라 CUBE, GROUPING SETS 에서도 사용할 수 있다.

보충 개념 GROUPING(컬럼) 은 해당 행이 그 컬럼에 대해 소계/총계로 집계되어 NULL 이 되었으면 1, 일반 상세 행이면 0 을 반환한다. CASE WHEN GROUPING(col)=1 THEN '합계' ELSE col END 식으로 소계 라벨을 붙이는 데 자주 쓰인다. 여러 컬럼을 묶어 표현하는 GROUPING_ID 함수도 있다.

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

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

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

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