MySQL学习笔记3:select查询(三) 排序查询

简介

本系列(MySQL学习笔记)是我基于B站上很是受欢迎的MySQL 基础+高级篇- 数据库 -sql -尚硅谷视频所作的笔记,方便你们学习和掌握MySQL。mysql

说明

1.这个系列基本包含了视频中老师讲课的全部内容,包括知识点、案例、部分测试题。
2.所需的配套资料(来自B站评论区)web

@黎曼的猜测:
配套资料下载–>公众号公众号 DragonWell 回复:mysql 注意:是公众号!!是公众号!!是公众号,点那个 搜一搜 搜索!!!
不是私人号,是公众号!!! (能够直接在 搜一搜 搜索 dragonwell) 名称是:DragonWell公众号sql

3.SQLyog的安装(来自B站评论区)数据库

@江左萌粽猪 连接:https://pan.baidu.com/s/18PDjbqEeDSAjQM0VQye6og 提取码:qjuzide

目录

MySQL学习笔记1:select查询(一) 基本用法
MySQL学习笔记2:select查询(二) 条件查询
MySQL学习笔记3:select查询(三) 排序查询svg

排序查询函数

语法:
select 查询列表 from[where 筛选条件] order by 排序列表 [asc升序|desc降序]
特色:
1.默认升序ASC
2. order by 支持单个字段排序,多个字段排序,表达式,别名,函数。
3. order by 通常放在查询语句最后面,但limit子句除外
4. 执行顺序 from where select order by

降序学习

查询员工信息工资从高到低排序
SELECT * FROM employees ORDER BY salary DESC;

升序测试

SELECT * FROM employees ORDER BY salary ASC;
SELECT * FROM employees ORDER BY salary;
查询部门编号大于等于90的员工信息,按入职时间前后排序【按单个字段排序】
SELECT * FROM employees WHERE department_id >= 90 ORDER BY hiredate;

1.按别名,表达式排序

查询员工信息和年新 按年新高低排序【按别名,表达式排序】
SELECT
	*,salary*12*(1+IFNULL(commission_pct,0)) AS 年新
FROM 
	employees
ORDER BY 年新 DESC; # 也能够写表达式

2.按函数排序

查询姓名的长度排序 显示姓名,工资,字节长度【按函数排序】
SELECT last_name,salary,LENGTH(last_name) FROM employees ORDER BY LENGTH(last_name);

3.按多个字段排序

查询员工信息,先按工资升序排序,再按员工编号降序排序【按多个字段排序】
SELECT * FROM employees ORDER BY salary,employee_id DESC;

测试题

选择工资不在800017000的员工姓名和工资,按工资降序
SELECT last_name,salary FROM employees WHERE salary<8000 OR salary>17000 ORDER BY salary DESC;

查询邮箱包含e的员工信息,并按邮箱字节数降序,再按部门号升序
SELECT * FROM employees WHERE email LIKE '%e%' ORDER BY LENGTH(email) DESC,department_id;