# 进阶3:排序查询
/*
引入:
select * from employees;
语法:
select 查询列表 from 表 【where 筛选条件】 order by 排序的列表 asc/desc
#asc升序,desc降序
【where 筛选条件】可选条件
特点:
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 employee_id>=90 order by hiredate; #案例3:按年薪的高低显示员工的信息和年薪【按表达式排序】
select *,salary*12*(1+ifnull(commission_pct,0)) as "年薪" from employees order by salary*12*(1+ifnull(commission_pct,0)) desc; #案例4:按年薪的高低显示员工的信息和年薪【按别名排序】
select *,salary*12*(1+ifnull(commission_pct,0)) as "年薪" from employees order by 年薪 desc; #案例5:按照姓名的长度显示员工的姓名和工资【按照函数排序】
select length(first_name),first_name,last_name,salary from employees order by length(first_name) 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)) as "年薪" from employees order by 年薪 desc,last_name asc; # 题目2:选择工资不在8000到17000的员工姓名和工资,按照工资降序
select last_name,salary from employees where not(8000<=salary and salary<=17000) order by salary asc; # 题目3:查询邮箱中包含e的员工信息,并按照邮箱的字节数量降序,再按照部门号升序
select * from employees where email like "%e%" order by length(email) desc,department_id asc;

  

SEC7 - MySQL 查询语句--------------进阶3:排序查询的更多相关文章

  1. MySQL 进阶3 排序查询

    #进阶3 排序查询 格式: select 查询列名 from 表 [where 筛选条件] order by 排序列名 [asc / desc] 排序查询/嵌套排序查询/函数查询/[按别名进行 排序] ...

  2. MySQL 查询语句--------------进阶7:子查询

    #进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或者内查询 外部的查询语句,称为主查询或外查询 分类: 按照子查询出现的位置: select后面:只支持标量子查询 fro ...

  3. MySQL数据库查询操作进阶——多表查询

    多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...

  4. MySQL 查询语句--------------进阶6:连接查询

    #进阶6:连接查询 /* 含义:多个表格连接,当查询的字段来自于多个表时候,就会用到连接查询 我觉得这里类似于excel中的vlookup函数 笛卡尔乘积现象:表1有m行,表2有n行,结果有m*n行 ...

  5. MySQL 查询语句--------------进阶9:联合查询

    #进阶9:联合查询 /* union 联合 合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union..... 应用场景:要查询的结果来自于多个表,且多个表没有 ...

  6. T-SQL查询语句(二):嵌套查询

    一个select...From...Where查询语句块可以嵌套在另一个select...From...Where查询块的Where子句中,称为嵌套查询.外层查询称为父查询,主查询.内层查询称为子查询 ...

  7. MySQL 查询语句--------------进阶5:分组查询

    #进阶5:分组查询 /* select 分组函数,列(要求出现在group by的后面) from 表 [where 筛选条件] group by 分组的列表 [order by 子句] 注意: 查询 ...

  8. SEC8 - MySQL 查询语句--------------进阶4:常见的函数

    # 进阶4:常见的函数 /* 概念:将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1.隐藏了实现细节 2.提高代码的复用性 调用: select 函数名() [from 表]; 特点: (1)叫 ...

  9. SEC6 - MySQL 查询语句--------------进阶2:条件查询

    # 进阶2:条件查询 /* 语法: select 查询列表 from 表名 where 筛选条件; 分类: 一.按照条件表达式筛选 条件运算符:> < = !=(等价于<>) ...

随机推荐

  1. python 更快地判断数字的奇数还是偶数

    使用 按位与运算符(&) 将能更加快速地判断一个整数是奇数还是偶数 使用举例如下: def check_number(n): if n & 1: return '奇数' else: r ...

  2. mysql索引与补充

    一, 什么是索引 为什么要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此 ...

  3. 不定参数(rest 参数 ...)

    不定参数 如何实现不定参数 使用过 underscore.js 的人,肯定都使用过以下几个方法: _.without(array, *values) //返回一个删除所有values值后的array副 ...

  4. bootstrap复习

    菜单 <div class="row">下拉菜单/分裂菜单</div> <div class="dropdown btn-group&quo ...

  5. nodejs回调大坑

    最近看到nodejs,因为有一个处理里面有好几个异步操作,调入回调大坑,不禁觉得很恶心,真的很讨厌发明这种写法的人,简直反社会!!!遂转载一篇解坑的文章,原文地址:http://www.infoq.c ...

  6. Groovy基本语法

    官方文档 注释(Comments) 和Java一样,支持单行(使用//).多行(/* */)和文档注释(使用/** */). Shebang line UNIX系统支持一种特殊的单行注释叫作Sheba ...

  7. 记录面试一位三年经验Web前端开发者的过程

    今天是2019年6月5日,后天就是端午节了,提前祝端午节快乐! 好了,开始这次面试过程的正题部分. 当我从人事手中接下这份三年哥(暂拟名称)的简历的时候,看到三年工作经验,心想 这应该是个大佬了 挺厉 ...

  8. 利用JFreeChart生成简单柱状图(Java)

    package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...

  9. Spring如何解决循环依赖问题

    目录 1. 什么是循环依赖? 2. 怎么检测是否存在循环依赖 3. Spring怎么解决循环依赖 本文主要是分析Spring bean的循环依赖,以及Spring的解决方式. 通过这种解决方式,我们可 ...

  10. 覆盖(Override)和重写(Overload)的区别

    Overload Overload是重载的意思. 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). Overload对我们来说可能比较 ...