SQLDSQL 활용조건부 집계난이도 3MCQ

SQLD 조건부 집계 기출문제 #3691

문제

급여가 2000 이상인 행만 합계에 포함하려고 한다. 조건에 맞지 않는 행은 NULL로 처리하여 SUM 집계에서 제외하는 표현으로 가장 적절한 것은?

① SUM(CASE WHEN SAL >= 2000 THEN SAL ELSE 0 END) ② SUM(CASE WHEN SAL >= 2000 THEN SAL ELSE NULL END) ③ COUNT(CASE WHEN SAL >= 2000 THEN SAL ELSE NULL END) ④ MAX(CASE WHEN SAL >= 2000 THEN NULL ELSE SAL END)

정답

2

해설

정답: 2. 조건에 맞는 급여만 합산하고 조건에 맞지 않는 값은 NULL로 처리하면 SUM에서 제외된다.

오답 풀이

  • 1번: ELSE 0은 합계 결과는 비슷할 수 있으나 NULL 제외 개념을 묻는 문제 의도와 다르다.
  • 2번: 조건에 맞지 않는 행을 NULL로 처리해 집계에서 제외한다.
  • 3번: 합계가 아니라 건수를 센다.
  • 4번: 조건에 맞는 값을 NULL로 만들어 반대로 처리한다.

보충 개념 집계 함수는 일반적으로 NULL을 제외한다. 조건부 집계에는 CASE WHEN과 SUM, COUNT를 함께 자주 사용한다.

SQLD 시험 준비 가이드

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

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

[SQLD] 조건부 집계 SQL 활용 기출 #3691 | 문어CBT