SQL: instrukcja case w klauzuli order by

http://msdn.microsoft.com/en-us/library/ms181765.aspx

Poniżej widzę sql z powyższego linku:

SELECT BusinessEntityID, SalariedFlag
FROM HumanResources.Employee
ORDER BY CASE SalariedFlag WHEN 1 THEN BusinessEntityID END DESC
    ,CASE WHEN SalariedFlag = 0 THEN BusinessEntityID END;
GO

Oto jeden wynik:

BusinessEntityID, SalariedFlag

7,1

5,1

3,1

1,1

2,0

4,0

6,0

8,0

Czy ktoś mógłby wyjaśnić, dlaczego rekordy z tym samym salariedFlag są obok siebie i dlaczego salariedFlag = 1 porcja znajduje się powyżej porcji salariedFlag = 0?

questionAnswers(4)

yourAnswerToTheQuestion