문제
다음 SQL의 결과로 가장 적절한 것은?
<조건> 전체 행 수는 105건이고, 특정 컬럼 COL1이 NULL이 아닌 행 수는 70건이다.
SQLSELECT COUNT(*), COUNT(COL1) FROM T;
① 105, 70 ② 70, 105 ③ 70, NULL ④ 103, NULL
정답
1번
해설
정답: 1. COUNT(*)는 전체 행 수를 세고, COUNT(COL1)은 COL1이 NULL이 아닌 행만 센다.
오답 풀이
- 1번: 전체 행 수 105와 NULL 제외 COL1 개수 70이 맞다.
- 2번: COUNT(*)와 COUNT(COL1)의 순서가 반대이다.
- 3번: COUNT(COL1)은 NULL이 아니라 70을 반환한다.
- 4번: 조건과 맞지 않는 값이다.
보충 개념 COUNT(*)는 NULL 여부와 관계없이 행을 센다. COUNT(컬럼명)은 해당 컬럼 값이 NULL인 행을 제외하고 센다.