SQL中ORDER BY子句使用方法

查询结果的排列顺序是随机的,没有任何规律。需要在SELECT语句末尾添加ORDER BY子句来名曲指定排列顺序。

排序键: ORDER BY子句中书写的列。

SELECT <列名1>, <列名2>, <列名3>   
  FROM <表名 >
 WHERE <条件表达式>
GROUP BY <列名1>, <列名2>, <列名3>,
HAVING <分组结果对应的条件>
ORDER BY <排序基准列1>,<排序基准列2>;

书写顺序:

1. SELECT 子句 → 2. FROM 子句 → 3. WHERE 子句 → 4. GROUP BY 子句 →

5. HAVING 子句 → 6. ORDER BY 子句


执行顺序:

1. FROM 子句 → 2. WHERE 子句 → 3. GROUP BY 子句 → 4. HAVING 子句 →

5. SELECT 子句 → 6. ORDER BY 子句

不想指定数据行的排列顺序时, SELECT 语句中可以不写 ORDER BY 子句。

但是SELECT子句在ORDER BY 子句之前,所以ORDER BY 子句中可以使用列的别名


指定升序或降序

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

在列名后面使用 DESC 关键字,会使用降序进行排列。

SELECT product_id, product_name, sale_price, purchase_price
FROM Product
ORDER BY sale_price DESC,purchase_price;
--对销售价格采取降序排序,采购价格采取升序排序


排序键中的NULL值

如果排序键中含有NULL值,NULL会在开头或末尾进行汇总


ORDER BY子句中可以使用的列

1、SELECT子句中的列

2、存在于表中。不包含在SELECT子句中的列

3、聚合函数

发布于 2019-05-08 13:06