En tabel har ikke en naturlig rækkefølge, nogle databasesystemer vil faktisk afvise din forespørgsel, hvis du ikke tilføjer en ORDER BY
klausul i slutningen af din SELECT
Hvorfor blev rækkefølgen ændret?
Fordi databasemotoren henter dine rækker i den fysiske rækkefølge, de kommer fra lageret. Nogle motorer, som SQL Server, kan have et CLUSTERED INDEX
hvilket fremtvinger en fysisk ordre, men det er stadig aldrig rigtig garanteret, at du får dine resultater i den præcise rækkefølge.
Det klyngede indeks eksisterer mest som en optimering. PostgreSQL har en lignende CLUSTER
funktion til at ændre den fysiske rækkefølge, men det er en tung proces, der låser tabellen :http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Hvordan fremtvinger man en alfabetisk rækkefølge af rækkerne?
Tilføj en ORDER BY
klausul i din forespørgsel.
SELECT * FROM table ORDER BY column