En tabell har inte en naturlig radordning, vissa databassystem kommer faktiskt att neka din fråga om du inte lägger till en ORDER BY
sats i slutet av din SELECT
Varför ändrades beställningen?
Eftersom databasmotorn hämtar dina rader i den fysiska ordning som de kommer från lagringen. Vissa motorer, som SQL Server, kan ha ett CLUSTERED INDEX
vilket tvingar fram en fysisk ordning, men det är ändå aldrig riktigt garanterat att du får dina resultat i den exakta ordningen.
Det klustrade indexet existerar mest som en optimering. PostgreSQL har ett liknande CLUSTER
funktion för att ändra den fysiska ordningen, men det är en tung process som låser tabellen :http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Hur tvingar man fram en alfabetisk ordning på raderna?
Lägg till en ORDER BY
klausul i din fråga.
SELECT * FROM table ORDER BY column