Een tabel heeft geen natuurlijke rijvolgorde, sommige databasesystemen weigeren uw zoekopdracht zelfs als u geen ORDER BY
toevoegt clausule aan het einde van uw SELECT
Waarom is de bestelling gewijzigd?
Omdat de database-engine uw rijen ophaalt in de fysieke volgorde waarin ze uit de opslag komen. Sommige engines, zoals SQL Server, kunnen een CLUSTERED INDEX
. hebben wat een fysieke volgorde afdwingt, maar het is nog steeds nooit echt gegarandeerd dat je je resultaten in die precieze volgorde krijgt.
De geclusterde index bestaat meestal als een optimalisatie. PostgreSQL heeft een vergelijkbare CLUSTER
functie om de fysieke volgorde te wijzigen, maar het is een zwaar proces dat de tabel vergrendelt:http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Hoe een alfabetische volgorde van de rijen afdwingen?
Voeg een ORDER BY
toe clausule in uw zoekopdracht.
SELECT * FROM table ORDER BY column