Middle
Aký je rozdiel medzi SELECT COUNT(*) a SELECT COUNT(stĺpec) z tabuľky?
sobes.tech AI
Odpoveď od AI
Rozdiel medzi SELECT COUNT(*) a SELECT COUNT(stĺpec) v SQL spočíva v tom, ktoré riadky sa počítajú:
-
SELECT COUNT(*) FROM tabuľka— počíta všetky riadky v tabuľke, vrátane tých, kde hodnoty v stĺpcoch môžu byť NULL. -
SELECT COUNT(stĺpec) FROM tabuľka— počíta riadky, kde hodnota v zadanom stĺpci nie je NULL.
Príklad:
| id | meno |
|---|---|
| 1 | Alice |
| 2 | NULL |
| 3 | Bob |
SELECT COUNT(*) FROM tabuľkavráti 3.SELECT COUNT(meno) FROM tabuľkavráti 2, pretože jeden záznam obsahuje NULL v stĺpci meno.
Preto je COUNT(stĺpec) užitočný, keď chcete spočítať iba nenulové hodnoty v konkrétnom stĺpci.