|
Posted by Erland Sommarskog on 12/20/06 22:28
Russ Rose (russrose@hotmail.com) writes:
> "Erland Sommarskog" <esquel@sommarskog.se> wrote in message
> news:Xns989E5EF00B667Yazorman@127.0.0.1...
>> Russ Rose (russrose@hotmail.com) writes:
>>> "Erland Sommarskog" <esquel@sommarskog.se> wrote in message
>>>> Logically the TOP 100 PERCENT and the ORDER BY means nothing at all.
>>>
>>> Would it mean nothing at all if requesting 10%?
>>
>> Yes.
>>
>> SELECT TOP 10 PERCENT EmployeeID, Salary
>> FROM Employees
>> ORDER BY Salary DESC
>>
>> means "Give the tenth of the employees with the highest salary".
>>
>> However if you would put this in a view and say:
>>
>> SELECT EmployeeID, Salary FROM myview
>>
>> There is no guarantee that the employees would be listed in salary order.
>> Any SELECT statement without ORDER BY tells SQL Server that it's free to
>> to returns the rows in any order it feels like.
>>
>
> 'No guarantee' = 'means nothing' ? Fascinating...
Fascinating and fascinating... TOP 100 PERCENT ORDER BY in a view
definition means nothing because the ORDER BY in the view definition
is only there to give a specification to the TOP clause. But since
TOP 100 PERCENT means "all rows", it is redudant. And then there is
no meaning left to carry for the ORDER BY clause in the view
definition.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|