SQL 中的 ORDER BY 子句用于对查询结果按特定顺序排列。它使用以下语法:ORDER BY column_name [ASC | DESC] [, ...], 其中 ASC 表示升序,DESC 表示降序。该子句还可以按多个列排序,优先级由列的顺序决定。默认情况下,NULL 值排在最小值的位置,但可以通过 NULLS FIRST 或 NULLS LAST 子句修改此行为。

SQL 中的 ORDER BY
ORDER BY 子句用于对检索到的数据进行排序,将结果按特定顺序排列。
语法:
ORDER BY column_name [ASC | DESC] [, column_name [ASC | DESC]] ...
含义:
-
column_name:指定要排序的列名。 -
ASC:按照升序排序(从小到大)。 -
DESC:按照降序排序(从大到小)。
示例:
SELECT * FROM customers ORDER BY last_name ASC;
这将按姓氏从小到大对客户数据进行排序。
多列排序:
ORDER BY 子句可以按多个列排序。列的顺序指定了排序的优先级,第一个列是最优先的。
示例:
SELECT * FROM customers ORDER BY last_name ASC, first_name DESC;
这将按姓氏从小到大、姓氏相同的情况下按名字从大到小对客户数据进行排序。
NULL 值处理:
默认情况下,NULL 值在排序中被视为最小值。可以使用 NULLS FIRST 或 NULLS LAST 子句来修改此行为。
-
NULLS FIRST:将 NULL 值排在最前面。 -
NULLS LAST:将 NULL 值排在最后面。
示例:
SELECT * FROM customers ORDER BY last_name ASC NULLS LAST;
这将按姓氏从小到大对客户数据进行排序,将 NULL 值排在最后。
注意:
- ORDER BY 只能在
SELECT语句中使用。 - 默认情况下,数据按升序排列(ASC)。
- 如果未指定排序方向,将使用默认的升序。










