Computer/MySQL
SELECT COUNT(0) 은 COUNT(*) 와 같다?
알찬돌삐
2011. 1. 24. 18:26
MySQL 대용량 데이터베이스 책 읽고 있는데,
---------------------------------------------
no 이름
---------------------------------------------
1 하하하
2 알찬돌삐
null 히히히
라고 되어있을때.
SELECT COUNT(no) FROM table 을 할 경우.
2 를 반환합니다.
전 보통
SELECT COUNT(0) FROM table 을 쓰는데,
null 이 올수 없는 컬럼 (0) 이 count 함수안에 올 경우
내부적으로 COUNT(*) 으로 변환되다고 하네요.
COUNT(no) 를 하면 no 에서 null 아닌 것을 카운트하며,
COUNT(*) 를 할 경우 전체 컬럼을 세는것이 아니라....
행의 갯수만 세개 된다고 합니다....
이제까지 COUNT(*) 은 나쁘다 라고 알고 있던것에 대한걸 뒤집는것 같네요.
.