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_Id Name Title
1 Allen crew
2 Tom manager
3 Chris crew
4 Bill crew

我們可以下這個 SELECT 敘述句:
SELECT * FROM employees ORDER BY Title;

查詢的結果如下:
E_Id Name Title
1 Allen crew
3 Chris crew
4 Bill crew
2 Tom manager

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

依職稱來作正向排序之後再依名稱來作反向排序:
SELECT * FROM employees ORDER BY Title ASC, Name DESC;

查詢的結果如下:
E_Id Name Title
3 Chris crew
4 Bill crew
1 Allen crew
2 Tom manager
SELECT語句中用來作排序的欄位名稱,除了欄位名稱外,也可以使用SELECT語句查詢的欄位順序。如,SELECT關鍵字後的第一個欄位(table_column1)為1,第二個欄位(table_column2)則為2。因此,我們也可以將上例中的SQL敘述句改寫成:
SELECT * FROM employees ORDER BY 3 ASC, 2 DESC;