Reputation: 180944
When I execute a query like SELECT col1, col2, col3 FROM table
, it gets sorted by the primary key ascending.
I'm just wondering if there is a way to specify a different column, like ORDER BY CreatedDate DESC
if there is no Order By clause?
I doubt it (since it would be very unintuitive, but just wondering anyway.
Upvotes: 12
Views: 13385
Reputation: 37655
No. Any ordering you see is an artifact of the query optimizer's strategy. Relational theory forbids that there is any implicit ordering of any set of data.
You can't even count on the same ordering next time for the same query because the optimizer strategy depends on the context and the data which might change.
Upvotes: 24
Reputation: 74270
Even the behavior you are seeing (ordered by pk) is not guaranteed by the standard. You should always specify the order you want things to be retrieved.
Upvotes: 12