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;