I use SQL Server 2008 R2 and have a table with an id column as identity(1,1). If I want to get query ordered by id column, do must use Order By ID or not necessary.
EDIT :
I have a unique clustered index on ID column. do this index guaranteed that my query sorted by id by default.
In cases when ORDER BY is omitted – the order is unpredictable. Because such a SQL Statement does not ask for explicit order, SQL Server can return results when they are ready.
And that means:
that the order is absolutely dependent on the execution plan.
the order returned for some filter criteria, could differ in other
case
For some select could be used other covering index, (which is not order by ID). And that will result in the “unexpected” order.
If we need to get Ordered list, we have to use explicit ORDER BY clause. Then we can be sure about the order. Only then.