Hi,
as Anthony said, only an "order by" clause guarantees an ordered result set.
Otherwise the order of rows in the result set depends on several points like:
1) algorithm used for retrieving the data and create result set
e.g. if your query uses "distinct", ASE has different options for doing this. ASE could use a temporary table (in this case the resulting rows will be sorted) or ASE could use a hash to eliminate duplicates (here a sorting is not necessary and therefore the result set is not ordered)
To find more details on this you could have a look on the query plan:
set showplan on
go
--> then run the query
2) locking schema of the table
3) physical order of rows
if you did a reorg on a table, the physical order of the rows might change and then the order of rows in the result set might be different
Best regards,
Juergen