Sobes.tech
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(колона) е полезен, когато искате да преброите само непразните стойности в конкретна колона.