排序查询
一、语法: 执行顺序
Select 查询列表 ③
from 表 ①
【where 筛选条件】 ②
order by 排序列表(字段/表达式/函数/别名 )【asc/desc】 ④
PS:【】中的内容表示的是可选的;
序号① ② ③ ④表示执行顺序.
二、特点:
1.desc 代表降序,asc 代表升序;如果不写,默认是升序
2.order by子句中可以支持单个字段、多个字段、表达式、函数、别名
3.order by子句一般是放在查询语句的最后面,limit子句除外
下面是一些具体的案例演示:
1. asc升序
将所有number按照cust_num进行升序排列

2. desc降序
将所有id按照cust_id进行降序排列

注:
DESC 降序排列,ASC 升序排列,默认情况下,它是按升序排列。
order by 后面可以跟多个不同的排序字段。
如果结果中含有NULL 值,默认情况下他们总是出现在查询结果的开头。
3. 添加筛选条件
查询部门编号>=100的manager_id,department_id,salary,hiredate信息,
按入职时间的先后进行排序

4. 按别名排序
按年薪package的高低显示员工的信息和年薪

这里为字段 salary *12 *(1+ifnull (commission_pct) ,0) 起别名为 package(年薪)
5. 按表达式排序
按年薪由高到低显示员工的信息和年薪

也可以用表达式来进行排序查询
6. 按函数排序
按姓名的长度显示员工的姓名和工资

mysql中 length 是计算字段的长度,一个汉字是算三个字符,一个数字或字母算一个字符
7. 按多个字段排序
查询employee_id,salary,first_name,先按工资升序,再按员工编号降序

本文详细介绍了MySQL的排序查询,包括asc升序、desc降序操作,如何添加筛选条件,按别名、表达式、函数进行排序,以及如何实现按多个字段排序。内容涵盖order by子句的使用方法和特点,提供了丰富的示例演示。
3195

被折叠的 条评论
为什么被折叠?



