如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。
子句 clause
通常由关键字加上数据组成。例如 FROM 子句。
ORDER BY 子句
ORDER BY 子句取一个或多个列的名字,据此对输出排序。
SELECT prod_name
FROM Products
ORDER BY prod_name;
-- 可以按未选择的列排序:ORDER BY prod_id
注意:如果存在,ORDER BY 必须是最后一条子句。
按多个列排序
多个行具有相同的前一列时,才对它们按后一列排序
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_name, prod_price;
按列位置排序
只能表示选择的列,从 1 开始
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2, 3;
指定排序方向,DESC 关键字降序
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC;
-- 也可以写成 ORDER BY prod_price DESCENDING;
注意:DESC 关键字值应用到前面一个列名,要在多个列上降序排序,必须对每一列指定 DESC 关键字。
对应 DESC/DESCENDING 关键字的是 ASC/ASCENDING 关键字。默认升序,因此不常用。