Oracle
 sql >> Base de données >  >> RDS >> Oracle

Que signifie select count(1) from table_name sur n'importe quelle table de base de données ?

Le paramètre de la fonction COUNT est une expression qui doit être évaluée pour chaque ligne. La fonction COUNT renvoie le nombre de lignes pour lesquelles l'expression donne une valeur non nulle. ( * est une expression spéciale qui n'est pas évaluée, elle renvoie simplement le nombre de lignes.)

Il existe deux modificateurs supplémentaires pour l'expression :ALL et DISTINCT. Ceux-ci déterminent si les doublons sont supprimés. Puisque ALL est la valeur par défaut, votre exemple est le même que count(ALL 1), ce qui signifie que les doublons sont conservés.

Étant donné que l'expression "1" est évaluée comme non nulle pour chaque ligne et que vous ne supprimez pas les doublons, COUNT(1) doit toujours renvoyer le même nombre que COUNT(*).