在 SELECT 敘述中加入 ORDER BY 子句,可以依據一或多個欄位完成遞增、遞減排序。
語法結構
SELECT
column1,
column2,
column3,
...
FROM
table_name
ORDER BY
column1 [ASC | DESC] [NULLS FIRST | NULLS LAST],
column2 [ASC | DESC] [NULLS FIRST | NULLS LAST];Code language: CSS (css)
參數說明
ASC:遞增排序,預設排序方式,省略時預設即為 ASCDESC:遞減排序NULLS FIRST:將 NULL 值排在非 NULL 資料前方NULLS LAST:將 NULL 值排在非 NULL 資料後方
ORDER BY子句永遠寫在 SELECT 敘述的最後。- 支援多欄位排序,每個欄位可設定各自獨立的排序規則。
單欄位遞減排序
SELECT name, sex
FROM student
ORDER BY name DESC;
Oracle 執行輸出:
SQL> select id, name from student order by name desc;
ID NAME
---------- ----------------
1 Tom
3 Lucy
2 JackCode language: JavaScript (javascript)
多欄位組合排序
先依照 name 遞減,再依照 sex 遞增
SQL> select id, name from student order by name desc, sex asc;
ID NAME
---------- ----------------
1 Tom
3 Lucy
2 JackCode language: JavaScript (javascript)
NULL 值控制
-- NULL 值排在最前面
SELECT id,name,sex FROM student ORDER BY sex DESC NULLS FIRST;
-- NULL 值排在最後面
SELECT id,name,sex FROM student ORDER BY sex DESC NULLS LAST;Code language: PHP (php)
排序
Previous: 資料表插入與查詢
Next: Distinct 去除重複