Middle
Mi a különbség a SELECT COUNT(*) és a SELECT COUNT(oszlop) között a táblában?
sobes.tech MI
Válasz az MI-től
A SELECT COUNT(*) és a SELECT COUNT(oszlop) közötti különbség az SQL-ben az, hogy mely sorokat számolja:
-
SELECT COUNT(*) FROM tábla— minden sort számol a táblában, beleértve azokat is, ahol az oszlopértékek NULL-ok lehetnek. -
SELECT COUNT(oszlop) FROM tábla— csak azokat a sorokat számolja, ahol a megadott oszlop értéke nem NULL.
Példa:
| id | név |
|---|---|
| 1 | Alice |
| 2 | NULL |
| 3 | Bob |
SELECT COUNT(*) FROM tábla3-at ad vissza.SELECT COUNT(név) FROM tábla2-t ad vissza, mivel egy rekord NULL értéket tartalmaz a név oszlopban.
Ezért a COUNT(oszlop) akkor hasznos, ha csak a nem NULL értékeket akarjuk számolni egy adott oszlopban.