3-3 对查询结果进行排序

查询排列的顺序是随机的。


通过ORDER BY 子句来明确指定排列顺序


SELECT <列名1>,<列名2>,<列名3>,......

FROM <表名>

ORDER BY <排序基准列1>,<排序基准列2>,......


ORDER BY子句中书写的列名称为排序键


子句的书写顺序

1.SELECT -->2.FROM -->3.WHERE -->4.GROUP BY -->5.HAVING -->ORDER BY


法则3-16

未指定ORDER BY子句中排列顺序时会默认使用升序进行排列

由于ASC和DESC这两个关键字是以列为单位指定的,因此可以同时指定一个列为升序,指定其他列为降序


SELECT product_id, product_name, sale_price, purchase_price

FROM Product

ORDER BY sale_price DESC;


在列名后面使用DESC关键字,升序使用ASC,但是省略该关键字会默认使用升序进行排序。


指定多个排序键

SELECT product_id, product_name, sale_price, purchase_price

FROM Product

ORDER BY sale_price, product_id;

规则是优先使用左侧的键,如果该列存在相同值的话,在接着参考右侧的键。


法则3-17

排序键中包含NULL时,会在开头或末尾进行汇总。


法则3-18

在ORDER BY 子句中可以使用SELECT子句定义的别名


SELECT子句的执行顺序在GROUP BY 子句之后,ORDER BY子句之前


法则3-19

在ORDER BY子句中可以使用SELECT子句中未使用的列和聚合函数


在ORDER BY子句中,还可以使用在SELECT子句中出现的列所对应的编号。

列编号是指SELECT子句中的列按照从做到右的顺序进行排列时所对应的编号(1,2,3,...)


法则3-20

在ORDER BY子句中不要使用列编号



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值