5.3 进阶3:排序查询

Posted qifanren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.3 进阶3:排序查询相关的知识,希望对你有一定的参考价值。

5.3 进阶3:排序查询

5.3.1 语法

select
	要查询的东西
from
	表
where 
	条件
order by 排序的字段|表达式|函数|别名 【asc|desc】

5.3.2 注意

  • ACE代表升序,DESC代表的是降序,如果不写默认升序
  • order by 子句中可以支持单个字段、多个字段、表达式、函数、别名
  • order by子句一般是放在查询语句的最后面的,limit子句除外

5.3.3 案例

  • 案例1:查询员工信息,要求工资从高到低排序
SELECT * FROM employees ORDER BY salary DESC;
SELECT * FROM employees ORDER BY salary ASC;
  • 案例2:查询部门编号>=90的员工信息,按入职时间的先后进行排序
SELECT *
FROM employees
WHERE department_id >= 90
ORDER BY hiredatE ASC
  • 案例3:按年薪的高低显示员工的信息和年薪
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC
# 或者可以按照别名排序
ORDER BY 年薪
  • 案例5:按姓名的长度显示员工的姓名和工资[按函数排序]
SELECT LENGTH(last_name) 字节长度,last_name,salary
FROM employees
ORDER BY 字节长度 DESC
  • 案例6:查询员工信息,要求先按照工资升序,再按照员工编号降序
SELECT *
FROM employees
ORDER BY salary ASC, employee_id DESC
  • 案例7:查询有相中包含e的员工信息,并且先按照邮箱的字节数升序,再按照部门号升序
select *
from employees
where email like \'%e%\'
order by length(email) desc, department_id asc;

以上是关于5.3 进阶3:排序查询的主要内容,如果未能解决你的问题,请参考以下文章

Mysql查询相关知识(进阶三 排序查询,进阶四:常见函数)

MySQL单表查询进阶

Mysql 进阶查询 (select 语句的高级用法)

软件测试--进阶

mysql进阶三四五六

Mysql查询相关知识(进阶五:分组查询,进阶六 连接查询)