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

Que signifie ORDER BY (SELECT NULL) ?

ROW_NUMBER nécessite un ORDER BY clause syntaxiquement. Vous ne pouvez pas l'utiliser sans. SELECT NULL est un hack pour fermer l'erreur sans appliquer d'ordre particulier. Dans ce cas, nous n'avons pas besoin d'appliquer une commande, donc l'option la plus rapide est d'utiliser SELECT NULL .

L'optimiseur voit à travers cette astuce, donc il n'a aucun coût d'exécution (cette affirmation est facilement vérifiée en regardant le plan d'exécution).