Jeśli nie określisz ORDER BY
, to jest BRAK ZAMÓWIENIA zdefiniowane.
Wyniki mogą być zwracane w dowolnej kolejności – co również może się zmieniać z czasem.
W relacyjnej bazie danych nie ma „naturalnego porządku” ani niczego podobnego (przynajmniej we wszystkim, o czym wiem). Jedynym sposobem na uzyskanie wiarygodnego zamówienia jest wyraźnie określenie ORDER BY
klauzula.
Aktualizacja: dla tych, którzy wciąż mi nie wierzą - oto dwa doskonałe posty na blogu, które ilustrują ten punkt (z przykładami kodu!):
- Conor Cunningham (architekt w zespole Core SQL Server Engine):Brak pasów bezpieczeństwa – oczekiwanie zamówienia bez ORDER BY
- Aleksander Kuzniecow:Bez ORDER BY nie ma domyślnego porządku sortowania (post w archiwum internetowym)