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

这篇具有很好参考价值的文章主要介绍了【MySQL系列】Select语句单表查询详解(二)ORDERBY排序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

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


⬇️创建一个学生成绩表,供后续使用
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

一、排序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对学生进行排序

执行语句:
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
查询结果:
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

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

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

【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
从左到右(1–n)

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

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

3️⃣降序DESC

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

例如:根据id降序排列

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

4️⃣根据多列排序

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

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

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

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

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

二、遇到NULL的情况

1.使用场景

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

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

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库

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

3.使用ASC升序

【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
可以发现NULL值又被放到了最前面。

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

执行语句
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序,数据库,mysql,android,数据库
可以发现NULL值又跑到了最下面。

📝总结:

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

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

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

到了这里,关于【MySQL系列】Select语句单表查询详解(二)ORDERBY排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql单表查询,排序,分组查询,运算符

    查询插入的数据据 – 1. 查询出部门编号为30的所有员工 – 2. 所有销售员的姓名、编号和部门编号。 – 3. 找出奖金高于工资的员工。 – 4. 找出奖金高于工资60%的员工。 – 5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 – 6. 找出部门编号为10中

    2024年02月13日
    浏览(31)
  • 【MySQL】——Select查询语句(其二)

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月08日
    浏览(37)
  • MySQL数据库——MySQL SELECT:数据表查询语句

    在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: {*|字段列名} 包含星号通配符的字段列表,表示所要查询字段的

    2024年02月05日
    浏览(43)
  • MySQL中,SQL 查询总是先执行SELECT语句吗?

    在使用 MySQL 进行查询时,我们通常会使用 SELECT 语句,但是 SELECT 语句是否总是最先被执行呢?这是一个非常有趣的问题,本文将对此进行探讨。 在 MySQL 中,SQL 查询通常包括以下几个步骤: 语法解析 :MySQL 会对 SQL 查询语句进行语法解析,检查语句是否符合 SQL 语法规范。

    2023年04月09日
    浏览(36)
  • 【MySQL系列】- SELECT语句执行顺序

    2.1 执行FROM操作 这一步需要做的是对FROM子句前后的两张表进行笛卡尔积操作,也称作为交叉连接,生成虚拟表VT1。如果FROM子句前的表包含a行数据,FROM子句后的表中包含b行数据,那么虚拟表VT1将包含a*b行数据。 2.2 应用ON过滤器 SELECT查询共有3个过滤流程,分别是ON、WHERE、

    2024年02月08日
    浏览(37)
  • MySQL使用SELECT 语句不加ORDER BY默认是如何排序的?

    大家好,我是阿飞云 怕什么真理无穷,进一步有近一步的欢喜 记录一个 MySQL 查询排序的问题,一个SQL语句没有加 order by ,那么查询出来的结果到底是按照什么规则排序的呢?查询了网上的一些资料,分享如下: •MyISAM 表 MySQL Select 默认排序是按照物理存储顺序显示的(不

    2024年02月10日
    浏览(37)
  • MYSQL-SELECT语句超详解

    目录 前言: SELECT语法 示例 单个字段查询 多个字段查询 查询所有字段 没有FROM的SELECT  查询系统时间 数值计算 虚拟表dual WHERE语句  示例 = AND OR 比较运算符 AND  OR  运算符优先级  IN  NOT IN  BETWEEN NOT BETWEEN LIKE EXISTS ORDER BY  LIMIT DISTINCT 前言: 示例中操作的表为 Sakila 示例数

    2024年02月12日
    浏览(59)
  • Mysql数据库:select from语句详解

    💖The Begin💖点点关注,收藏不迷路💖 select from语句用于从数据库中查询数据。它由两个组成:select 和from。 select 用于指定要查询的列,from用于指定要查询的表。 通过结合使用这两个,我们可以从数据库中选择特定的列和行进行查询。 下面是se

    2024年02月03日
    浏览(31)
  • 【MySQL入门】-- 数据库简单的SELECT语句详解

    目录 1.SQL分类 2.注释 3.数据导入指令 4.基本的SELECT语句 5.列的别名 6.去重复行 7.显示表结构 8.一些数据库基本操作 1.SQL分类 SQL语言在功能上主要分为三大类: DDL(Data Defintion Language)数据定义语言:定义不同的数据库,表,视图,索引等,可以创建,删除,修改数据库和数据库

    2024年02月09日
    浏览(54)
  • 玩转Mysql系列 - 第6篇:select查询基础篇

    这是Mysql系列第6篇。 环境:mysql5.7.25,cmd命令中进行演示。 DQL(Data QueryLanguage):数据查询语言,通俗点讲就是从数据库获取数据的,按照DQL的语法给数据库发送一条指令,数据库将按需求返回数据。 DQL分多篇来说,本文属于第1篇。 基本语法 注意: select语句中不区分大小写

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包