Is there a "Default Order By Column" in SQL Server?

11,761

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.

Share:
11,761
Michael Stum
Author by

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, 2022

Comments

  • Michael Stum
    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.