Does including DISTINCT in a SELECT query imply that the resulting set should be sorted?
I don’t think it does, but I’m looking for a an authoritative answer (web link).
I’ve got a query like this:
Select Distinct foo From Bar
In oracle, the results are distinct but are not in sorted order. In Jet/MS-Access there seems to be some extra work being done to ensure that the results are sort. I’m assuming that oracle is following the spec in this case and MS Access is going beyond.
Also, is there a way I can give the table a hint that it should be sorting on foo (unless otherwise specified)?
From the SQL92 specification:
…
Ultimately the real answer is that DISTINCT and ORDER BY are two separate parts of the SQL statement; If you don’t have an ORDER BY clause, the results by definition will not be specifically ordered.