Sobes.tech
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 tabulka vrátí 3.
  • SELECT COUNT(jméno) FROM tabulka vrá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.