1、不论何种情况,order by 子句都需要写在select语句的末尾,order by 子句中书写的列名称为排序键
2、子句的书写顺序:1. select子句 → 2. from子句 → 3. where 子句 → 4. group by 子句 →5. having子句 → 6. order by子句
3、未指定order by子句中排列顺序时会默认使用升序进行排列,asc也是升序排序
4、需要进行降序排列时,在列名后面使用desc关键字
5、在order by 子句中可以同时指定多个排序键。规则是优先使用左侧的键,如果该列存在相同值的话,再接着参考右侧的键。当然,也可以同时使用3 个以上的排序键。
6、使用含有null 的列作为排序键时,null会在结果的开头或末尾汇总显示。究竟是在开头显示还是在末尾显示,并没有特殊规定,某些DBMS中可以指定null 在开头或末尾显示。
7、在order by 子句中却是允许使用别名,select 子句的执行顺序在group by 子句之后,order by子句之前。因此,在执行group by 子句时,select 语句中定义的别名无法被识别。对于在select 子句之后执行的order by 子句来说,就没有这样的问题了。
8、order by 子句中也可以使用存在于表中、但并不包含在select子句之中的列和使用聚合函数。