Eine Tabelle hat keine natürliche Zeilenreihenfolge, einige Datenbanksysteme lehnen Ihre Abfrage tatsächlich ab, wenn Sie kein ORDER BY
hinzufügen -Klausel am Ende Ihres SELECT
Warum hat sich die Reihenfolge geändert?
Da die Datenbank-Engine Ihre Zeilen in der physischen Reihenfolge abruft, in der sie aus dem Speicher stammen. Einige Engines, wie SQL Server, können einen CLUSTERED INDEX
haben was eine physische Reihenfolge erzwingt, aber es ist immer noch nie wirklich garantiert, dass Sie Ihre Ergebnisse in dieser genauen Reihenfolge erhalten.
Der Clustered Index existiert meist als Optimierung. PostgreSQL hat einen ähnlichen CLUSTER
Funktion, um die physische Reihenfolge zu ändern, aber es ist ein schwerer Prozess, der die Tabelle sperrt:http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Wie erzwinge ich eine alphabetische Reihenfolge der Zeilen?
Fügen Sie einen ORDER BY
hinzu -Klausel in Ihrer Abfrage.
SELECT * FROM table ORDER BY column