Se non specifichi un ORDER BY
, allora c'è NESSUN ORDINE definito.
I risultati possono essere restituiti in un ordine arbitrario e anche questo potrebbe cambiare nel tempo.
Non esiste un "ordine naturale" o qualcosa del genere in un database relazionale (almeno in tutto ciò che so). L'unico modo per ottenere un ordine affidabile è esplicitamente specificando un ORDER BY
clausola.
Aggiornamento: per coloro che ancora non mi credono, ecco due ottimi post sul blog che illustrano questo punto (con esempi di codice!):
- Conor Cunningham (architetto del team Core SQL Server Engine):Nessuna cintura di sicurezza - In attesa di ordine senza ORDINE PER
- Alexander Kuznetsov:senza ORDER BY, non esiste un ordinamento predefinito (posta nell'archivio Web)