1、ORDER BY 子句
通常,从表中抽取数据时,如果没有特定顺序,最终排序顺序便无从得知,。即使是同一条SELECT语句,每次执行时排序顺序很可能发生改变。
SELECT product_id,product_name,sale_price,purchase_price
FROM Product
ORDER BY sale_price;
注意:
子句的书写顺序:SELECT——>FROM——>WHERE——>GROUP BY——>HAVING——>ORDER BY
2、指定升序(ASC)或降序(DESC)
由于ASC(升序)和DESC(降序)这两个关键字是以列为单位指定的,因此可以同时指定一个列为升序,指定其他列为降序。
3、指定多个排序键
规则是优先使用左侧的键,如果该列存在相同值得话,再接着参考右侧的键。
4、NULL的顺序
使用含有NULL的列作为排序键时,null会在结果的开头或末尾汇总显示,究竟是在开头显示还是在末尾显示,并没有特殊规定。
5、在排序键使用显示用的别名
使用HAVING子句时SELECT语句的顺序:
FROM——>WHERE——>GROUP BY——>HAVING——>SELECT——>ORDER BY
因此在执行GROUP BY子句时,SELECT语句中定义的别名无法被识别,对于在SELECT子句之后执行的ORDER BY子句来说,就没有这样的问题了。
6、ORDER BY 子句中可以使用的列
在ODER BY子句中可以使用SELECT子句中未使用的列和聚合函数。