【MySQL系列】Select语句单表查询详解(二)ORDERBY排序

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

文章目录

  • 一、排序ORDER BY
    • 1.ORDER BY的格式:
    • 2.ORDER BY的作用:
    • 3.ORDER BY的使用:
      • 1️⃣ 按照字段名排序
      • 2️⃣按字段照序号进行排序
      • 3️⃣降序DESC
      • 4️⃣根据多列排序
      • 5️⃣还可以结合搭配函数或者一些查询条件使用。
  • 二、遇到NULL的情况
    • 1.使用场景
    • 2.直接默认排序(不加排序规则)
    • 3.使用ASC升序
    • 4. 使用 IF ( isnull (字段名称),1,0)
    • 📝总结:
  • 🚩 ORDER BY排序与索引关系的注意事项

⬇️创建一个学生成绩表,供后续使用
在这里插入图片描述

一、排序ORDER BY

1.ORDER BY的格式:

SELECT [DISTINCT ] 【* 或 字段名1,字段名2……
FROM表名字
WHERE 【查询条件】
ORDER BY 【字段名】ASC/DESC;

2.ORDER BY的作用:

ORDER BY 关键字可以深紫色文字使查询返回的结果集按照指定的列进行排序,可以按照某一列排序或者同时按照多列进行排序,排序的顺序可以升序或者降序。

3.ORDER BY的使用:

1️⃣ 按照字段名排序

ORDER BY 关键字可以按照某「列名」进行排序,列名就是字段名

例如:根据id对学生进行排序

执行语句:
在这里插入图片描述
查询结果:
在这里插入图片描述

2️⃣按字段照序号进行排序

格式:ORDER BY n 表示,以“第n个字段”排序。

在这里插入图片描述
从左到右(1–n)

例如:根据第三个进行排序

执行语句
在这里插入图片描述
在这里插入图片描述

3️⃣降序DESC

在ORDER BY语句中,如果没有写排序规则,默认是ASC升序。如果想要降序,则必须加DESC后缀

例如:根据id降序排列

执行语句
在这里插入图片描述
在这里插入图片描述

4️⃣根据多列排序

例如:
根据数学成绩和id进行排序。

首先会进行数学成绩排队,如果相同,则只根据数学成绩排序。如果有相同的,则会再根据id序号进行排序。

执行语句
在这里插入图片描述
在这里插入图片描述

5️⃣还可以结合搭配函数或者一些查询条件使用。

执行语句
在这里插入图片描述
在这里插入图片描述

二、遇到NULL的情况

1.使用场景

当我们使用order by对某一字段进行排序时,该字段中包含null值,这种情况下,排序就会出现问题,我们可以根据实际情况,指定为空的排在前面或者排在后面。

2.直接默认排序(不加排序规则)

执行语句
在这里插入图片描述
在这里插入图片描述

可以发现NULL值被默认放到了最后。

3.使用ASC升序

在这里插入图片描述
可以发现NULL值又被放到了最前面。

4. 使用 IF ( isnull (字段名称),1,0)

执行语句
在这里插入图片描述
在这里插入图片描述
可以发现NULL值又跑到了最下面。

📝总结:

可以这样想,便于记忆:
(1)默认排序规则【升序,NULL在最下main】
(2)标明排序规则:NULL最小升序ASC肯定是排最上面,降序时DESC最小的NULL值放在最下面。
(3)如果需要变化,那么就使用特定格式。

🚩 ORDER BY排序与索引关系的注意事项

注意: ORDER BY的使用位置非常关键,甚至会影响查询性能。
通过验证得知:order by 中的字段出现在where条件中时,才会利用索引而不排序,更准确的说,order by 中的字段在执行计划中利用了索引时,不用排序操作
还应注意,在这里我使用的INNODB引擎,不同的引擎在排序方法上有所不同,不同的引擎,会有不同的查询速率。
后续会对索引进行单独讲解,在这仅仅一提

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:选择+编程(每日一练Day8)

目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:字符个数统计 思路一: 题二:多数元素 思路一: 本人实力有限可能对一些…

k8s 安装 istio(二)

3.3 部署服务网格调用链检测工具 Jaeger 部署 Jaeger 服务 kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/jaeger.yaml 创建 jaeger-vs.yaml 文件 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata…

【面试】一文讲清组合逻辑中的竞争与冒险

竞争的定义:组合逻辑电路中,输入信号的变化传输到电路的各级逻辑门,到达的时间有先后,也就是存在时差,称为竞争。 冒险的定义:当输入信号变化时,由于存在时差,在输出端产生错误&…

使用haproxy搭建web架构

haproxy HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。 HAProxy提供了可以在七层和四层两种负载均衡能力,它可以提供高可用性、负载均衡、及基于TCP和HTTP应用的代理。适用于负载大的Web站点,在运行在硬件上可…

企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理) em

​ 工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

mysql数据库root密码遗忘后,修改root密码

目录 方式一: 方式二: 2.1 也可以像我这样,普通用户登录进去后 2.2 执行如下命令,将已知的user1的加密密文更新到root中 2.3 查询数据库 2.4 用root用户登录 2.5 登录正常,但这会root登录进去后,无法…

2023深圳智博会,正运动助力智能装备“更快更准”更智能!

■展会名称: 2023 深圳国际智能装备产业博览会暨深圳国际电子装备产业博览会(以下简称“EeIE 智博会”) ■展会日期 2023年8月29日-31日 ■展馆地点 深圳国际会展中心(宝安新馆) ■展位号 3B030 正运动技术,作为国内领先的…

smartbi token回调获取登录凭证漏洞

前段时间,Smartbi官方修复了一处权限绕过漏洞。未经授权的攻击者可利用该漏洞,获取管理员token,完全接管管理员权限。于是研究了下相关补丁并进行分析。 0x01分析结果 依据补丁分析,得到如下漏洞复现步骤 第一步,设…

网络安全---负载均衡案例

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释,我们只用两个节点,启动之后,大家可以看到有 3 个容器(可想像成有 3 台服务器就成)。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…

CAD泰森多边形框架3D插件

插件介绍 CAD泰森多边形框架3D插件可用于在AutoCAD软件内生成三维Voronoi框架结构实体模型,适用于多孔Voronoi科研论文渲染绘图、Voronoi框架有限元建模、Voronoi空间结构优化等方面的应用。 使用说明 插件可设置生成的几何尺寸、晶格尺寸及边框直径等信息。 插…

发现一种增加在 GitHub 曝光量的方法,已举报

今天偶然看到一种增加项目和个人在 GitHub 曝光量的方法,但感觉无法赞同这种做法,已经向 GitHub 官方举报。 具体怎么回事呢?我上周在 Vim 插件大佬 tpope 的一个项目提了个 Issue,但一周过去了,大佬也没有回应&#x…

CSDN编程题-每日一练(2023-08-25)

CSDN编程题-每日一练(2023-08-25) 一、题目名称:影分身二、题目名称:小鱼的航程(改进版)三、题目名称:排查网络故障 一、题目名称:影分身 时间限制:1000ms内存限制:256M 题目描述&am…

Git gui教程---第八篇 Git gui的使用 创建一个分支

一般情况下一个主分支下代码稳定的情况下会新建出一个分支,然后在分支上修改,修改完成稳定后再合并到主分支上。 或者几个人合作写一份代码,每个人各一个分支,测试稳定再合并到主分支上。 在git gui选择菜单栏“分支”&#xff0…

什么是代码审计?怎么做?

代码审计是对源代码进行人工或自动化审查,以查找潜在的安全漏洞和隐患。在信息安全测试中,代码审计是非常重要的一环。它主要包括以下几个方面: 1.变量验证:检查代码是否对变量进行验证,防止变量被恶意用户篡改。 2.…

板卡设计+硬件每日学习十个知识点(44)23.8.24 (检测单元设计,接口部分设计,板卡电源输入设计,电源检测电路)

文章目录 1.检测单元介绍(使用GD32单片机)2.GD32的最小系统板3.GD32的温度监测4.GD32的电压监测和电流监测5.GD32的布线6.接口部分设计7.板卡电源输入设计8.电源检测电路 1.检测单元介绍(使用GD32单片机) 答: 首先要为…

Forrester首次面向中国的开源报告:阿里云在云原生领域开源布局最全面

Forrester 于近期发布了《Navigate The Cloud-Native Ecosystem In China, 2023》,报告概述了中国云原生领域的开源项目对构建云原生生态的促进作用,这些开源项目正深刻影响着企业的技术决策者以何种策略拥抱云原生这一现代 IT 基础设施的核心。 报告表…

很干的 Nginx

🎨 前言 本篇文章有些概念性的东西,是结合自己的理解表达出来的,可能有些理解不到位的地方。希望多多指教,谢谢大家。 红包献上 🧧🧧🧧🧧🧧🧧🧧…

深度学习处理文本(NLP)

文章目录 引言1. 反向传播1.1 实例流程实现1.2 前向传播1.3 计算损失1.4 反向传播误差1.5 更新权重1.6 迭代1.7 BackPropagation & Adam 代码实例 2. 优化器 -- Adam2.1 Adam解析2.2 代码实例 3. NLP任务4. 神经网络处理文本4.1 step1 字符数值化4.2 step 2 矩阵转化为向量…

成集云 | 抖店连接器客户静默下单催付数据同步钉钉 | 解决方案

源系统成集云目标系统 方案介绍 随着各品牌全渠道铺货,主播在平台上直播时客户下了订单后不能及时付款,第一时间客户收不到提醒,不仅造成了客户付款率下降,更大量消耗了企业的人力成本和经济。而成集云与钉钉深度合作&#xff0…

STM32--USART串口

文章目录 通信接口串口通信硬件电路电平标准参数时序 USART主要特性框图 数据帧发送器 波特率发生器SWART串口发送与接收工程串口收发数据包 通信接口 通信接口是指连接中央处理器(CPU)和标准通信子系统之间的接口,用于实现数据和控制信息在不…