@ukulele Du widersprichst dir gerade selbst... Die Wörter "immer" und "muss es aber nicht" zusammen zu verwenden sorgt meistens nur für weitere Verwirrung
Grundsätzlich ist es so: Wenn man keine Reihenfolge vorgibt, spuckt die Datenbank die Daten so wie gelesen aus. Wie die Daten gelesen werden ist dabei von vielen unterschiedlichen Faktoren abhängig... Dabei gibt es zwei große Gruppen:
Einmal die Anfrage der Datenbank und einmal der eigentliche Lesevorgang von der Festplatte.
Jetzt nur mal als kleines Beispiel:
Bei der Anfrage der Datenbank wird meistens der selbe Datensatz zur selben Zeit angefragt, einfach weil man meistens einen Index nutzt (der dann nunmal eine Art "implizite" Reihenfolge darstellt) oder weil die Datenbank wirklich einfach sagt "fang vorne an und hör hinten auf"
Wobei hingegen beim eigentlichen Lesevorgang das OS (oder was auch immer die physikalischen Datenträger verwaltet) die Reihenfolge vorgibt.
Wenn Die Datenbank sagt ich hätte gerne Datensätze A, B, C dein OS aber merkt es wäre kostengünstiger erst C dann A und dann B zu lesen, dann werden die Daten auch in der Reihenfolge C, A, B an die Datenbank zurückgegeben.
Nur wenn du jetzt auch eine Reihenfolge vorgegeben hast, nimmt die Datenbank noch eine Sortierung vor... Ansonsten kommen die Daten wie gelesen an den Client zurück.
(In der Realität ist es wesentlich komplizierter... Das hier soll nur einen SEHR groben Überblick geben...)
D.h. man kann sagen im großen und ganzen ist die Reihenfolge meistens gleich. Es ist aber eben nicht sichergestellt