基本語法:
SELECT 查詢列表
FROM 表名
WHERE 查詢條件
ORDER BY 排序列表(asc或desc)
1
2
3
4
特點:
order by 子句可以支持單個字段、多個字段、表達式、函數、別名的查詢
order by 一般位置查詢語句的最后面(limit子句除外)
舉個栗子
/**查詢員工信息,要求工資按照從高到低進行排序(默認升序)**/
SELECT * FROM employees ORDER BY salary ASC;
/**方法2:**/
SELECT * FROM employees ORDER BY salary;
/**查詢部門標號大於等於90的員工信息,並且按照入職時間進行先后排序**/
SELECT * FROM employees
WHERE department_id >= 90
ORDER BY hiredata ASC;
/**按照員工的年薪的高低顯示員工的信息和年薪**/
SELECT *, salary*12(1+IFNULL(commission_pct,0) 年薪
FROM employees
ORDER BY 年薪 ASC;
/**按照姓名的長度顯示員工的姓名和工資**/
SELECT LENGTH(last_name) 姓名字節長度 ,last_name,salary
FROM employees
ORDER BY 姓名字節長度;
/**查詢員工信息,先按工資升序排序,在按照員工編號降序排序**/
SELECT * FROM employees ORDER BY salary ASC,employee_id DESC;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
進階練習:
/**選擇工資不在8000-9000的員工的姓名和工資,按照工資的降序排序**/
SELECT last_name,salarty
FROM employees
WHERE salary NOT BETWEEN 8000 AND 9000
ORDER BY salary DESC;
/**查詢郵箱中包含e的員工信息,先按照郵箱的字節數升序排序,在按照部門的降序排序**/
SELECT *
FROM employees
WHERE email LIKE('%e%')
ORDER BY LENGTH(email) ASC, department_id DESC;
---------------------