一、ORDER BY 子句
ORDER BY 子句中书写的列名称为排序键。
ORDER BY 和 WHERE并用时 SELECT 的执行顺序:
FROM ---WHERE ---GROUP BY----HAVING---- SELECT----ORDER BY
二、指定升序和降序
省略关键字会默认升序进行排列。
升序关键字:ASC ascendent上升的
降序关键字:DESC descendent下降的
由于ASC和DESC这两个关键词是以列为单位指定的,因此可以同时指定一个列为升序,指定其他列为降序。
三、指定多个排序建
在ORDER BY子句中指定多个排序键,规则是优先使用左侧的键,如果该列存在相同值的话,在接着参考右侧的键。
四、NULL的排序
排序键包含NULL时,会在开头或末尾进行汇总。MySQL在表的开头汇总。
五、排序键中使用显示用的别名
SELECT语句按照子句为单位的执行顺序如下:
FROM ---WHERE ---GROUP BY----HAVING---- SELECT----ORDER BY
六、ORDER BY子句中可以使用的列
在ORDER BY子句中可以使用SELECT子句中未使用的列和聚合函数。
七、不要使用列的编号
在ORDER BY子句中可以使用SELECT子句中出现的列所对应的编号。但不推荐这样用,理由如下:
(1)代码阅读起来比较难
(2)实际上,SQL-92中已经明确指出该功能将来会被删除。