Middle
Каква е разликата между SELECT COUNT(*) и SELECT COUNT(колона) от таблицата?
sobes.tech AI
Отговор от AI
Разликата между SELECT COUNT(*) и SELECT COUNT(колона) в SQL се състои в това, кои редове се броят:
-
SELECT COUNT(*) FROM таблица— брои всички редове в таблицата, включително тези, където стойностите в колоните могат да бъдат NULL. -
SELECT COUNT(колона) FROM таблица— брои редовете, където стойността в посочената колона не е NULL.
Пример:
| id | име |
|---|---|
| 1 | Alice |
| 2 | NULL |
| 3 | Bob |
SELECT COUNT(*) FROM таблицаще върне 3.SELECT COUNT(име) FROM таблицаще върне 2, тъй като един запис съдържа NULL в колоната име.
Затова COUNT(колона) е полезен, когато искате да преброите само непразните стойности в конкретна колона.