MySQL排序查詢


語法:
① SELECT 查詢 (要找的東西)
②FROM 表 (在哪個表找)
③【WHERE 篩選條件】(取出重要的或有用的)
④ORDER BY 排序列表 【ASC|DESC】 (排序的關鍵字 字段)(【升序|降序】)

特點:
  1.ASC代表升序,DESC代表降序。
  如果不寫默認升序
  2.ORDER BY用於子句中可以支持單個字段,多個字段,表達式,函數,別名
  3.ORDER BY子句,放在查詢語句的最后面。LIMIT子句除外

多個排序

  先按第一個排序,有一樣的 再按第二個排序 
  '如果有多個先按前面的,有重復的依次向后比較類似於Excel'

執行順序:2134,先找表,再找內容,后篩選條件,最后排序


 

length函數:返回對象的長度

 


#案例1:查詢員工信息,要求工資從高到低排序

SELECT
*
FROM
employees;
ORDER BY salary;
ORDER BY salary DESC;#降序

#案例2:查詢部門編號>=90的員工信息,按入職時間的的先后進行排序

SELECT
*
FROM
employees
WHERE 
department_id >=90
ORDER BY hiredate;

 

#案例3:按年限的高低顯示員工的信息和年薪【按表達式排序】

SELECT
*,salary*12+(1+IFNULL(commission_pct,0)) AS 年薪
FROM
employees;
ORDER BY salary*12+(1+IFNULL(commission_pct,0)) DESC;

 

#案例4:按年限的高低顯示員工的信息和年薪【按別名】

SELECT
*,salary*12+(1+IFNULL(commission_pct,0)) AS 年薪
FROM
employees;
ORDER BY 年薪 DESC;

 

#案例5:按姓名的長度顯示員工的姓名和工資【按函數排序】

SELECT
LENGTH('jin');

 

  字符串字符使用的時候要用單引號表示

SELECT 
LENGTH(last_name) 字節長度,last_name,salary
FROM 
employees
ORDER BY LENGTH(last_name) DESC;

 

#案例6:查詢員工信息,要求先按工資排序升序,再按員工編號排序降序【按多個字段排序】

SELECT
*
FROM
employees
ORDER BY
salary , employee_id DESC;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM