Is there a "Default Order By Column" in SQL Server?
Solution 1
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.
Solution 2
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.
Michael Stum
The same thing we do every night, Pinky. Try to take over the world! Full-Stack Developer on Stack Overflow Enterprise, working to make our little corner of the Internet better for all of us.
Updated on June 27, 2022Comments
-
Michael Stum about 2 years
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.