1. 程式人生 > 其它 >三、排序查詢

三、排序查詢

語法

SELECT 查詢列表
FROMWHERE 篩選條件
ORDER BY 排序列表 【asc|desc

特點

  1. asc代表的是升序,desc代表的是降序;如果order by 後不寫,則預設代表升序
  2. order by子句中可以支援單個欄位、多個欄位、表示式、函式、別名
  3. order by子句一般放在查詢語句的最後面,limit子句除外
  4. 執行順序:1.from 表>where 篩序條件>select查詢列表>order by

示例

# 示例一:查詢員工資訊,要求工資排序
SELECT * FROM employees ORDER BY salary DESC;

SELECT * FROM employees ORDER BY salary ASC; # 示例二:查詢部門編號>=90的員工資訊,按入職時間的先後進行排序【新增篩選條件】 SELECT * FROM employees WHERE department_id >= 90 ORDER BY hiredate ASC; # 示例三:按年薪的高低顯示員工的資訊和年薪【按表示式】 SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪 FROM employees ORDER BY salary*12*(1+IFNULL(commission_pct,0
)) DESC; # 示例四:按年薪的高低顯示員工的資訊和年薪【按別名】 SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪 FROM employees ORDER BY 年薪 DESC; # 示例五:按姓名的長度顯示員工的姓名和工資【按函式排序】 SELECT LENGTH(last_name) 姓名長度,last_name,salary FROM employees ORDER BY LENGTH(last_name) DESC; # 示例六:查詢員工資訊,要求先按工資升序,再按員工編號降序【按多個欄位排序】 SELECT * FROM
employees ORDER BY salary asc,employee_id DESC;