Middle
Jaký je rozdíl mezi SELECT COUNT(*) a SELECT COUNT(column) FROM table?
sobes.tech AI
Odpověď od AI
Rozdíl mezi SELECT COUNT(*) a SELECT COUNT(sloupec) v SQL spočívá v tom, které řádky jsou počítány:
-
SELECT COUNT(*) FROM tabulka— počítá všechny řádky v tabulce, včetně těch, kde hodnoty ve sloupcích mohou být NULL. -
SELECT COUNT(sloupec) FROM tabulka— počítá řádky, kde hodnota ve specifikovaném sloupci není NULL.
Příklad:
| id | jméno |
|---|---|
| 1 | Alice |
| 2 | NULL |
| 3 | Bob |
SELECT COUNT(*) FROM tabulkavrátí 3.SELECT COUNT(jméno) FROM tabulkavrátí 2, protože jeden záznam obsahuje NULL ve sloupci jméno.
Proto je COUNT(sloupec) užitečný, když chcete spočítat pouze nenulové hodnoty v konkrétním sloupci.