Sobes.tech
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ľka vráti 3.
  • SELECT COUNT(meno) FROM tabuľka vrá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.