Czy ma znaczenie przy liczeniu wartości w kolumnie użycie select count(nazwa_kolumny) w stosunku do select count(*)?
Czy ma znaczenie przy liczeniu wartości w kolumnie użycie select count(nazwa_kolumny) w stosunku do select count(*)?
Tak, różnica pojawi się, jeśli w kolumnie, którą zliczamy wystąpią wartości NULL. W przypadku zliczania count(nazwa_kolumny) wartości NULL zostaną pominięte i nie zostaną dodane do zwróconego wyniku. Odwrotnie jest w przypadku count(*) - tutaj wszystkie występujące wartości NULL nie zostaną pominięte i zostaną dodane do zwróconego wyniku.
Panie Marcinie, czy nie lepiej podawać count(1)?
Do wyliczenia count(*) używane są wszystkie kolumny w tabeli, jeśli tabela będzie duża, to takie wyliczenie nie będzie dłużej trwało niż count(1), a efekt będzie dokładnie ten sam.