학습용 기출·복원자료 분류 확인SQLD · 2024년 55회 SQL 기본 및 활용 · 39번
다음 COUNT 표현 중 NULL 처리 때문에 다른 건수를 낼 가능성이 가장 큰 것은?
1
COUNT(*)
오답 이유COUNT(*)는 특정 열의 NULL 여부와 무관하게 조건을 통과한 모든 행을 센다. 따라서 1번 보기 ‘COUNT(*)’의 적용 여부를 문제 조건과 대조해야 한다.
2
COUNT(nullable_column)
정답 근거COUNT(열)은 해당 열이 NULL인 행을 제외한다. COUNT(*), COUNT(3), COUNT('X')는 행마다 NULL이 아닌 대상을 계산하므로 전체 행 수를 센다. 따라서 2번 보기 ‘COUNT(nullable_column)’의 적용 여부를 문제 조건과 대조해야 한다.
3
COUNT(3)
오답 이유상수 3은 모든 행에서 NULL이 아니므로 COUNT(3)는 전체 행 수와 같다. 따라서 3번 보기 ‘COUNT(3)’의 적용 여부를 문제 조건과 대조해야 한다.
4
COUNT('X')
오답 이유문자 상수 'X'도 모든 행에서 NULL이 아니므로 COUNT('X')는 전체 행을 센다. 따라서 4번 보기 ‘COUNT('X')’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘COUNT(nullable_column)’입니다. COUNT(열)은 해당 열이 NULL인 행을 제외한다. COUNT(*), COUNT(3), COUNT('X')는 행마다 NULL이 아닌 대상을 계산하므로 전체 행 수를 센다.