SQLD(SQL 개발자) 기출 · 집계 함수
다음 SQL 중 실행 결과가 다른 것은?
이 문제 풀어보기
정답 및 해설 보기
정답: 4번
1, 2, 3번은 모두 조건을 만족하는 경우만 카운트하는 방식이다.
1번: CASE WHEN ... THEN 1 END → 조건 불만족 시 NULL → SUM에서 제외
2번: ELSE 0 → 0과 1을 합산 → 조건 만족 개수
3번: COUNT(CASE WHEN ... THEN 1 END) → NULL 제외 → 조건 만족 개수
즉, 세 쿼리는 동일한 결과를 반환한다.
1번: CASE WHEN ... THEN 1 END → 조건 불만족 시 NULL → SUM에서 제외
2번: ELSE 0 → 0과 1을 합산 → 조건 만족 개수
3번: COUNT(CASE WHEN ... THEN 1 END) → NULL 제외 → 조건 만족 개수
즉, 세 쿼리는 동일한 결과를 반환한다.