Surely the solution is an explicitly defined index...
A list which constrains the order of processing?
This should not be news to anyone familar with SQL. The engine optimises the order in which processing is carried out, unless an index is specified, the output order is entirely at the discretion of the engine.