Orderby子句用来定义返回数据的排列顺序;
默认情况下,查询输出的结果通常按照SQLServer一最低开销收集的;例如,按照表的物理储存顺序输出,或者按照SQLServer用于查找数据的索引的顺序输出;
举个例子:
(1)当我们默认输出结果时,它按照默认的主键(EmployeeKey)索引顺序排列:
<a href="http://blog.51cto.com/attachment/201310/224457428.jpg" target="_blank"></a>
(2)如果按照我们自定义以"ParentEmplyeeKey"列来排序查询结果;
<a href="http://blog.51cto.com/attachment/201310/225059199.jpg" target="_blank"></a>
我们看到结果是以"ParentEmployeeKey"的升序排列的,因为"orderbyParentEmplyeeKey"等于"orderbyParentEmployeeKeyASC",ASC关键字表示以升序列;对应的关键字DESC表示以降序排列;
(3)如果需要按照多列排序,用逗号分开排序的列;
<a href="http://blog.51cto.com/attachment/201310/230143567.jpg" target="_blank"></a>
我们可以看出,查询的结果先以ParentEmplyeeKey排列,再以EmployeeNationalIDAlternateKey排列;
注意:
orderby子句可给予查询使用的任何表中的任意列来排列,不管其是否再select列表中!
本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1306013,如需转载请自行联系原作者