对于排序,我们都知道,小学时老师经常让我们按高矮次序排队出来搞课外活动,通过高低排序,老师能更好的看到每位学生,及时了解每位学生的情况。同理,财务部门每个月都会按部门员工工资,从高到低排序,以便了解员工工资情况等。为了实现这样的功能,数据库提供数据排序功能。
数据库排序是在SELECT语句中,使用ORDER BY子句,对查询结果集中的数据记录按指定的字段的值进行排序。
数据库排序分为升序排序(默认方式)、降序排序、单属性值排序、多属性值排序、按列别名排序等。对于空值,若按升序排序,含空值的记录将最后显示,若按降序排序,含空的记录将最先显示。
1.单值升序排序
假如,需要查询电子商城购物系统的orders(订单表)表中按Amount(订单数量)由小到大进行排序查询,如示例代码5-23,执行结果如图5-16所示。
对于升序排序,还可以使用显示升序排序,如示例代码5-24,执行结果如图5-17所示。
图5-16 按单值升序(默认)排序
图5-17 按单值显示升序排序
从图5-17可以看到,在排序子句的被排序字段Amount后加上了“ASC”谓词,由原来的默认升序排序,变成显示升序排序。
2.单值降序排序
在降序排序子句中指定被排序字段,被排序的字段值将由大到小显示,并且降序排序一定要在排序子句的被排序字段后,用DESC谓词显示指出。仍以单值升序排序的例子为例,只是改为降序排序,如示例代码5-25,执行结果如图5-18所示。(www.xing528.com)
图5-18 按单值降序排序
3.按多属性值排序
在排序子句中,可以指定多个字段进行多属性值排序,而每个字段又可指定升序或降序排序,排序的顺序按字段在排序子句中出现的先后顺序而定。如示例代码5-26,执行结果如图5-19所示。
从图5-19可以看出,在排序子句ORDER BY之后指定了Amount(订单数量)和OrdID(订单号)进行排序,并且Amount按降序排序和OrdID按升序排序。从图5-19与图5-18对比来看,图5-19最后两行因指定了OrdID为升序排序,所以在Amount按降序排序的基础上再对OrdID按升序排序。
图5-19 按多属性值排序
4.按列别名进行排序
以示例代码5-26的情况为例,只是在SELECT列表中指定了列的别名,然后再在排序子句中,使用列的别名对列进行排序,如示例代码5-27,执行结果结果如图5-20所示。
图5-20 按列别名进行排序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。