ORDER BY 關鍵字 (SQL ORDER BY Keyword)

我們可以將 SELECT 取得的資料集依某欄位來作排序,而排序分別可以由小至大 (ascending; 預設),或由大至小 (descending)。

ORDER BY 語法 (SQL ORDER BY Syntax)

SELECT table_column1, table_column2...
FROM table_name
ORDER BY column_name1 ASC|DESC, column_name2 ASC|DESC...

ORDER BY 查詢用法 (Example)

從下面的 employees 資料表中取出所有員工的資料並依職稱來作排序 (即字母順序):

E_IdNameTitle
1Allencrew
2Tommanager
3Chriscrew
4Billcrew

我們可以下這個 SELECT 敘述句:

SELECT * FROM employees ORDER BY Title;

查詢的結果如下:

E_IdNameTitle
1Allencrew
3Chriscrew
4Billcrew
2Tommanager

若語句中沒加上 ASC 或 DESC 關鍵字,預設默認為 ASC。

依職稱來作正向排序之後再依名稱來作反向排序:

SELECT * FROM employees ORDER BY Title ASC, Name DESC;

查詢的結果如下:

E_IdNameTitle
3Chriscrew
4Billcrew
1Allencrew
2Tommanager

SELECT 語句中用來作排序的欄位名稱,除了欄位名稱外,也可以使用 SELECT 語句查詢的欄位順序。如,SELECT 關鍵字後的第一個欄位 (table_column1) 為 1,第二個欄位 (table_column2) 則為 2。因此,我們也可以將上例中的 SQL 敘述句改寫成:

SELECT * FROM employees ORDER BY 3 ASC, 2 DESC;