Sobes.tech
Middle

Jaka jest różnica między SELECT COUNT(*) a SELECT COUNT(column) FROM table?

sobes.tech AI

Odpowiedź od AI

Różnica między SELECT COUNT(*) a SELECT COUNT(kolumna) w SQL polega na tym, które wiersze są liczone:

  • SELECT COUNT(*) FROM tabela — liczy wszystkie wiersze w tabeli, w tym te, gdzie wartości w kolumnach mogą być NULL.

  • SELECT COUNT(kolumna) FROM tabela — liczy wiersze, w których wartość w podanej kolumnie nie jest NULL.

Przykład:

id nazwa
1 Alice
2 NULL
3 Bob
  • SELECT COUNT(*) FROM tabela zwróci 3.
  • SELECT COUNT(nazwa) FROM tabela zwróci 2, ponieważ jeden wpis zawiera NULL w kolumnie nazwa.

Dlatego COUNT(kolumna) jest przydatny, gdy chcesz policzyć tylko niepuste wartości w konkretnej kolumnie.