# 进阶3:排序查询 /* 引入: select * from employees; 语法: select 查询表 from 表 【where 筛选条件】 order by 排序列表 【ase| desc】 特点: 1、asc代表的是升序,desc代表的是降序 如果不写,默认是升序 2、order by子句中可以支持单个字段、多个字段、表达式、函数、别名 3、order by子句一般是查询语句的最后面,limit子句除外 */ # 案例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)) 年薪 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 字节长度 desc; # 案例6: 查询员工信息,要求先按工资排序,再按员工编号排序【按多个字段排序】 select * from employees order by salary asc,employee_id desc; # 测试 # 1. 查询员工的姓名、部门和年薪,按年薪降序 按姓名升序 select last_name,department_id,salary*12*(1+ifnull(commission_pct,0)) 年薪 from employees order by 年薪 desc,last_name asc; # 2. 选择工资不在8000到17000的员工的姓名和工资,按工资降序 select last_name,salary from employees where salary not between 8000 and 17000 order by salary desc; # 3. 查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序 select *, length(email) from employees where email like "%e%" order by length(email) desc,department_id asc;
mysql学习:进阶3:排序查询
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:mysql学习:进阶2:条件查询
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MySQL基础学习笔记——排序、分页查询
排序关键字order byascdesc意思排序升序(默认,可省略)降序
MySQL 升序 分页 表名 -
Hibernate之进阶3——查询方式
一、数据库表与表之间的关系1、一对多关系1)一个部门对应多个员工、客户和联系人、商品和分类2)建表原则在多的一方创建外键,指向一的一方的主键2、多对多
hibernate花式查询 HQL QBC Customer Test -
MySQL查询进阶之多表查询
一、多表查询1.引出2.笛卡尔积3. 笛卡尔积的解决方法二、多表查询分类1.等值连接和非等值连接2.自连接和非自连接3.内连接和外连接一
mysql 数据库 database 子查询 字段 -
mysql进阶学习
...
MySQL -
MySQL 查询进阶版 mysql %查询
mysql中like % %模糊查询
MySQL 查询进阶版 mysql 数据库 database 数据