MySQL基础——排序查询

MySQL基础——排序查询,第1张

MySQL基础——排序查询 进阶3:排序查询

语法:

select 查询列表			第三步执行
from 表				第一步执行
where 筛选条件			第二步执行
order by 排序列表 asc|desc	第四步执行
特点:
	1、asc代表升序,desc代表降序
	如果不写,默认代表升序
	2、order by子句中支持单个字段、多个字段、表达式、函数、别名排序
	3、order by字句一般放在查询语句的最后面,limit字句除外

案例:查询员工信息,要求工资从高到低排序

SELECt * FROM employees ORDER BY salary DESC;
SELECt * FROM employees ORDER BY salary ;

案例2:查询部门编号》=90的员工信息,按入职日期的先后进行排序{添加筛选条件}

SELECt *
FROM employees
WHERe department_id>=90
ORDER BY hiredate ASC;

案例3:(按表达式排序)按年薪的高低显示员工的信息和年薪

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

案例4:(按别名排序)按年薪的高低显示员工的信息和年薪

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

案例5:(按函数排序)按姓名的长度显示员工的姓名和工资

SELECt LENGTH(last_name) 字节长度,last_name,salary
FROM employees
ORDER BY LENGTH(last_name) DESC;

案例6:(按多个字段排序)查询员工信息,要求先按工资排序,再按员工编号排序

SELECt *
FROM employees
ORDER BY salary ASC,employee_id DESC;

例题

SELECt last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 DESC,last_name ASC;

SELECt last_name,salary
FROM employees
WHERe salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC; 

SELECt *,LENGTH(email)
FROM employees 
WHERe email LIKE '%e%'
ORDER BY LENGTH(email) DESC,department_id ASC;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5690547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存