Wenn Sie keinen ORDER BY
angeben , dann gibt es NO ORDER definiert.
Die Ergebnisse können in beliebiger Reihenfolge zurückgegeben werden - und das kann sich im Laufe der Zeit auch ändern.
Es gibt keine "natürliche Ordnung" oder ähnliches in einer relationalen Datenbank (zumindest in allem, was ich weiß). Die einzige Möglichkeit, eine zuverlässige Bestellung zu erhalten, ist explizit Angabe eines ORDER BY
Klausel.
Aktualisierung: für diejenigen, die mir immer noch nicht glauben - hier sind zwei hervorragende Blog-Posts, die diesen Punkt veranschaulichen (mit Code-Beispielen!):
- Conor Cunningham (Architekt im Core SQL Server Engine-Team):Kein Sicherheitsgurt – Bestellung ohne ORDER BY erwartet
- Alexander Kuznetsov:Ohne ORDER BY gibt es keine Standard-Sortierreihenfolge (Post im Webarchiv)