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;