ROW_NUMBER kræver en ORDER BY
klausul syntaktisk. Du kan ikke bruge det uden en. SELECT NULL
er et hack til at lukke op for fejlen uden at håndhæve nogen bestemt ordre. I dette tilfælde behøver vi ikke håndhæve nogen ordre, så den hurtigste mulighed er at bruge SELECT NULL
.
Optimizeren gennemskuer dette trick, så det har ingen driftsomkostninger (denne påstand kan let verificeres ved at se på udførelsesplanen).