Der Optimizer entscheidet, mit welchen Zugriffswegen er am schnellsten an die gewünschten Daten herankommt. Die Entscheidung hängt ab, von der Feld-Auswahl, Join-Anweisungen, WHERE-Bedingungen, GROUP BY, ORDER BY Anweisungen sowie der Datenzusammensetzung ab.
Sofern kein (zusätzlicher) ORDER BY angegeben ist, werden die Datensätze in der Reihenfolge des verwendeten Zugriffsweg ausgegeben, oder falls ein Table Scan ausgeführt wird in Eingangsfolge.

Übrigens seit Release 7.1 (TR5 oder TR6) ist es auch möglich SQL Indices über die Relative Satz-Nr. zu bilden.

Sofern Du die Datensätze in der Reihenfolge der relativen Satz-Nr. benötigst, musst Du einen entsprechenden Order By angeben. Ansonsten gibt es (und gab es auch früher nicht) keine Garantie, dass die Datensätze in der gewünschten Reihenfolge ausgegeben werden.