MySQL学习笔记 ------ 排序查询

news/2024/11/29 1:34:43/

一、语法

  SELECT 查询列表
  FROM 表名
【WHERE 筛选条件】
  ORDER BY 排序列表 【ASC}DESC】;#支持多个排序条件,以逗号分隔

二、特点

1、ASC :升序,如果不写默认升序
      DESC:降序

2、排序列表 支持 单个字段、多个字段、函数、表达式、别名;

3、ORDER BY 的位置一般放在查询语句的最后(除LIMIT语句之外);

三、案例分析

1、显示原表

SELECT * FROM employees;

2、按单个字段排序

SELECT * FROM employees ORDER BY salary DESC;

3、添加筛选条件再排序

  案例:查询部门编号>=90的员工信息,并按员工编号降序

SELECT *FROM employeesWHERE department_id>=90ORDER BY employee_id DESC;

4、按表达式排序

  案例:查询员工信息 按年薪降序

SELECT *,salary*12*(1+IFNULL(commission_pct,0))FROM employeesORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

5、按别名排序

  案例:查询员工信息 按年薪升序

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪FROM employeesORDER BY 年薪 ASC;

6、按函数排序

  案例:查询员工名,并且按名字的长度降序

SELECT LENGTH(last_name),last_nameFROM employeesORDER BY LENGTH(last_name) DESC;

7、按多个字段排序

  案例:查询员工信息,要求先按工资降序,再按employee_id升序

SELECT *FROM employeesORDER BY salary DESC,employee_id ASC;

四、案例练习

1、查询员工的姓名和部门号和年薪,按年薪升序、按姓名升序

SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪FROM employeesORDER BY 年薪 ASC,last_name ASC;

2.选择工资不在8000到17000的员工的姓名和工资,按工资降序

SELECT last_name,salary,salary*12*(1+IFNULL(commission_pct,0)) 年薪FROM employeesWHERE salary NOT BETWEEN 8000 AND 17000ORDER BY 年薪 ASC,salary DESC;

3.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序

SELECT *FROM employeesWHERE email LIKE '%e%'ORDER BY LENGTH(email) DESC,department_id;

http://www.ppmy.cn/news/979167.html

相关文章

【N32L40X】学习笔记04-gpio中断库

gpio中断 该函数库的目的就是在统一的地方配置,将配置的不同项放置在一个结构体内部使用一个枚举来定义一个的别名 NVIC 寄存器 NVIC 相关的寄存器定义了可以在 core_cm4.h 文件中找到。我们直接通过程序的定义来分 析 NVIC 相关的寄存器,其定义如下…

【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)

探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析) Redis提供的持久化机制Redis持久化如何工作Redis持久化的故障分析持久化频率操作分析数据库多久调用一次write,将数据写入内核缓冲区?内核多久将系统缓冲…

算法空间复杂度详解

如果您觉得文章不错,期待你的一键三连哦,你的鼓励是我创作的动力之源,让我们一起加油,一起奔跑,让我们顶峰相见!!! 前言 避免在处理大规模问题时出现效率低下,耗费较多…

jaeger+elasticsearch(cassandra ) 单机部署以及(400)报错

Jaeger 快速体验 官网下载地址 https://www.jaegertracing.io/download/ GitHub 下载地址 https://github.com/jaegertracing/jaeger/releases 下载二进制文件压缩包后,运行解压后的 all-in-one 文件即可。 jaeger-all-in-one 采用内存存储数据,专为…

STP生成树协议(第二十一课)

STP生成树协议(第二十一课) STP-生成树协议 1、为什么需要STP协议 1)局域网中容易出现的问题:单点故障和单链路故障,即:当某一条链路故障或某一台设备故障导致大面积主机网络中断 2)如果预防单点故障和单链路故障: 增加冗余/备份设备:预防单点故障 增加冗余/备份…

红外雨量计(光学雨量传感器)调试

红外雨量计(光学雨量传感器)调试 红外雨量计是一种用来测量雨量的传感器,它通过红外线的反射来检测雨滴的落下。为了调试红外雨量计,你需要参考以下步骤: 1. 确认传感器的电源接线正确。检查传感器的接线是否正确&…

继承中类的作用域

继承中类的作用域 Bulk_quote bulk; cout<<bulk.isbn();class Disc_quote : public Quote{public:std::pair<size_t,double> discount_policy() const{ return {quantity,discount};}//其他成员与之前版本一致 };Bulk_quote bulk; Bulk_quote *bulkP &bul…

计算机流水线在正常程序中的体现(效果可视)

众所周知,流水线技术对于软件开发人员不是可见的(visiable),毕竟已经在在机器语言之下,是组成机器语言的基本逻辑 但今天我就带领大家看看我新发现的结果,那就是流水线的可视效果,包括流水线预测技术的侧面体现,当然也是可见的 首先我先声明一下需要的基础,需要懂16位以及32位操…