SQL的ORDER BY子句用於對查詢結果進行排序。其基本語法為SELECT 列名 FROM 表名 ORDER BY 列名 [ASC|DESC];其中,ASC表示升序排序(默認為升序),而DESC表示降序排序。
ORDER BY的使用方式多樣,可以按照單個列進行排序,也可以按照多個列進行排序,還可以使用表達式進行排序。例如,SELECT * FROM customers ORDER BY last_name表示按照last_name列進行升序排序,而SELECT * FROM customers ORDER BY last_name DESC則表示按照last_name列進行降序排序。同時,也可以對多個列進行排序,如SELECT * FROM customers ORDER BY last_name, first_name表示先按照last_name進行升序排序,再按照first_name進行升序排序。此外,還可以使用表達式進行排序,例如,SELECT * FROM customers ORDER BY YEAR(birth_date) DESC是按照birth_date列提取的年份進行降序排序。
在ORDER BY子句中,還可以使用列的別名或者列的位置編號(從1開始)來進行排序。並且,對於NULL值的處理,可以通過使用NULLS FIRST或NULLS LAST來指定NULL值在排序中的位置。