ROW_NUMBER requiere un ORDER BY
cláusula sintácticamente. No puedes usarlo sin uno. SELECT NULL
es un truco para cerrar el error sin hacer cumplir ninguna orden en particular. En este caso no necesitamos hacer cumplir ninguna orden, por lo que la opción más rápida es usar SELECT NULL
.
El optimizador ve a través de este truco, por lo que no tiene costo de tiempo de ejecución (esta afirmación se verifica fácilmente mirando el plan de ejecución).