Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Standardreihenfolge für ausgewählte Abfragen in Oracle

Laut Tom Kyte:„Solange und bis Sie „order by“ zu einer Abfrage hinzufügen, können Sie NICHTS über die Reihenfolge der zurückgegebenen Zeilen sagen. Nun, abgesehen von ‚Sie können sich nicht auf die Reihenfolge der zurückgegebenen Zeilen verlassen‘.“

Siehe diese Frage bei asktom.com.

ROWNUM existiert physisch nicht und kann daher nicht "befreit" werden. ROWNUM wird zugewiesen, nachdem ein Datensatz aus einer Tabelle abgerufen wurde, weshalb "WHERE ROWNUM =5" immer keine Datensätze auswählen wird.

@ammoQ:Vielleicht möchten Sie diesen AskTom-Artikel über GROUP BY-Bestellungen lesen. Kurz:

Garantiert eine Group By-Klausel in einer Abfrage, dass die Ausgabedaten nach den Group By-Spalten sortiert werden, auch wenn es KEINE Order By-Klausel gibt?

und wir sagten...

ABSOLUT NICHT,

Hat es nie, hat es nie getan, wird es nie.