Oracle
 sql >> Database >  >> RDS >> Oracle

Cosa significa select count(1) da table_name su qualsiasi tabella del database?

Il parametro della funzione COUNT è un'espressione che deve essere valutata per ogni riga. La funzione COUNT restituisce il numero di righe per cui l'espressione restituisce un valore non null. ( * è un'espressione speciale che non viene valutata, restituisce semplicemente il numero di righe.)

Sono disponibili due modificatori aggiuntivi per l'espressione:ALL e DISTINCT. Questi determinano se i duplicati vengono eliminati. Poiché ALL è l'impostazione predefinita, il tuo esempio è uguale a count(ALL 1), il che significa che i duplicati vengono mantenuti.

Poiché l'espressione "1" restituisce un valore non nullo per ogni riga e poiché non stai rimuovendo i duplicati, COUNT(1) dovrebbe sempre restituire lo stesso numero di COUNT(*).