SQL查询:[3]查询结果排序
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排碌食撞搁序。这时可以通过ORDER BY子句来实现这个绂茴幌蟾功能。语法如下: SELECT <*,column [alias],...> FROM table [WHERE condition(s)] [ORDER BY column[ASC|DESC]];默认是ASC指定的升序排列,DESC用来指定降序排列。
工具/原料
已安装有Oracle数据库11g
已安装有Oracle SQL Developer
排序入门
1、升序排序: 使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/460fdc8333bf3bef02d1130b3f3ea8db564a1a31.jpg)
2、降序排序: 当需要查询结果降序排列时,必须在排序后指定DESC关键字。如下图是查看职员薪水的降序排列:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/a99a494afa32939c12699c015719ce2c5a1b1531.jpg)
常用用法2
1、使用非选择列表排序: 在SELECT列表中也可以不出现排序的列。如下图:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/2db6c1b2dc19ce2c19855d6d7fdca039121f1131.jpg)
2、使用表达式排序: 在SELECT的列中可以出现算术表达式,排序时也可以使用表达式来按照表达式计算结果来排序的目的。如下图:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/f59dbe39131fceec9b472ac679c4ec9958430b31.jpg)
3、使用列别名排序: 在做SELECT查询时,可以为列或表达式定义别名,在执行排序时,可以使用别名进行排序。如下图:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/f385f2995943040106605df1d66b04d148290531.jpg)
4、使用列位置排序: 我们还可以按照列或表达式在SELECT列表中的位置进行排序,这样还可以有效权纲轳薯缩减排序语句的长度。薷蒴塾寒另外,在使用UNION这类集合操作符时,如果SELECT列表的列名不同,此时必须使用列位置进行排序。如下图:以部门编码和职员编码作为升序排列的标准。
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/3852f6e5eceeadbce6b104c3cd18dfdae53b7b31.jpg)
5、使用多列排序: 当执行操作时,还可以根据多列排序。当一多列作为排序标准时,首先按照第一列排序,如果第一列数据相同,再以第二列排序,依次类推。如下图:
![SQL查询:[3]查询结果排序](https://exp-picture.cdn.bcebos.com/acfda02f477046188444a788b08602214e577631.jpg)