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

    • ORDER BY 子句中**可以使用 SELECT 子句中定义的列的别名**
    • ORDER BY 子句中**可以使用 SELECT 子句中未出现的列,*也可以使用聚合函数[如COUNT()]
    • ORDER BY 子句中书写的列名为排序键
    • ORDER BY 字句中可以指定多个排序键,如果排序键中包含NULL时,会在开头或末尾进行汇总
    • ORDER BY 子句中可以使用在 SELECT 子句中出现的列对应的编号(1,2,3….),列编号是指 SELECT 子句中的列按照从左至右的顺序对应的编号,但并不推荐使用,在 ORDER BY 子句中不要使用列编号

    • ORDER BY 子句都需要写在 SELECT 语句的末尾。这是因为对数据进行排序的操作必须在结果即将返回时执行
    • ASC 升序
    • DESC 降序

    • 在GROUP BY 子句中不能使用 SELECT 子句中定义的别名,但是在 ORDER BY 子句中却是允许使用别名的
    • GROUP BY 子句中未指定的列不能书写在SELECT 子句之中
    • WHERE 子句必须写在 GROUP BY 子句之前

    • 使用 HAVING 子句时 SELECT 语句的内部执行顺序,也就是实际执行顺序如下

      1. FROM<br /> WHERE<br />GROUP BY<br />HAVING<br />SELECT<br />ORDER BY

    有个难点,就是
    WHERE
    HAVING
    GROUP BY 之类的前后筛选执行顺序还是不是特别清楚