Une table n'a pas d'ordre naturel des lignes, certains systèmes de base de données refuseront en fait votre requête si vous n'ajoutez pas un ORDER BY
clause à la fin de votre SELECT
Pourquoi la commande a-t-elle changé ?
Parce que le moteur de base de données récupère vos lignes dans l'ordre physique où elles proviennent du stockage. Certains moteurs, comme SQL Server, peuvent avoir un CLUSTERED INDEX
qui force un ordre physique, mais il n'est toujours pas vraiment garanti que vous obteniez vos résultats dans cet ordre précis.
L'index clusterisé existe principalement en tant qu'optimisation. PostgreSQL a un CLUSTER
similaire fonction pour changer l'ordre physique, mais c'est un processus lourd qui verrouille la table :http://www.postgresql.org/docs/9.1/static/sql-cluster.html
Comment forcer un ordre alphabétique des lignes ?
Ajouter un ORDER BY
clause dans votre requête.
SELECT * FROM table ORDER BY column