ROW_NUMBER wymaga ORDER BY
klauzula syntaktycznie. Nie możesz go używać bez niego. SELECT NULL
to hack, aby zamknąć błąd, nie egzekwując żadnego konkretnego zamówienia. W tym przypadku nie musimy wymuszać żadnej kolejności, więc najszybszą opcją jest użycie SELECT NULL
.
Optymalizator widzi tę sztuczkę, więc nie ma ona kosztów czasu działania (to twierdzenie można łatwo zweryfikować, patrząc na plan wykonania).