
COUNT(*) 함수는 NULL 값을 포함하여 행 수를 반환하지 않습니다.
이러한 점을 해결하기 위해서는 COUNT(*) 함수 대신 COUNT(column_name) 또는 COUNT(expression) 함수를 사용하면 됩니다.
COUNT(column_name) 함수는 column_name에 NULL 값을 포함하여 행 수를 반환합니다.
COUNT(expression) 함수는 expression이 NULL 값을 포함하여 행 수를 반환합니다.
예를 들어, 다음과 같은 테이블이 있다고 가정해 보겠습니다.
| id | name | age |
| --- | --- | --- |
| 1 | John | 25 |
| 2 | Jane | NULL |
| 3 | Joe | 30 |
COUNT(*) 함수를 사용하면 3이 반환됩니다.
COUNT(id) 함수를 사용하면 3이 반환됩니다.
COUNT(name) 함수를 사용하면 3이 반환됩니다.
COUNT(age) 함수를 사용하면 2가 반환됩니다.
COUNT(expression) 함수를 사용할 때는 expression이 NULL 값을 포함하여 행 수를 반환합니다.
예를 들어, COUNT(age IS NOT NULL) 함수를 사용하면 2가 반환됩니다.
COUNT(age IS NULL) 함수를 사용하면 1이 반환됩니다.
COUNT(CASE WHEN age IS NOT NULL THEN 1 ELSE 0 END) 함수를 사용하면 2가 반환됩니다.
2025-06-30 20:26