服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL排序检索数据操作方法梳理

MySQL排序检索数据操作方法梳理

2022-11-27 20:00刘婉晴 Mysql

SELECT语句是SQL中最常用的语句。它的用途是从一个或多个表中检索信息。为了使用SELECT检索表数据,必须至少给出两条信息:想选择什么、从什么地方选择,这篇文章主要介绍了MySQL排序检索数据

前言

本实验中所用数据库创建SQL语句以及插入数据到数据库中的SQL语句链接:

链接: https://pan.baidu.com/s/14q4kBP9vGVbOU_4Ggo07GQ?pwd=4w4y

提取码:4w4y

书接上回说到,MySQL检索数据

本篇文章主要介绍如何使用 select 的 MySQL 语言,根据我们的想要排序检索出的数据。

1. 排序数据

检索出的数据不是随机显示的,若不排序,数据以其在表中出现的顺序显示。关系数据库设计理论认为,如果不规定排序顺序,则不能假定检索出的数据的顺序有任何意义。

为了明确地排序用 select 语句检索出的数据,可以使用 order by 字句 取一个或多个列的名字,以此对输出进行排序

如下:

?
1
2
3
select prod_name
from Products
order by prod_name;

注意: order by 字句的位置一定是 select 语句的最后一条字句,如果不是最后一条字句,将会出错

2. 按多个列排序

通常我们不只需要按单个列排序,而是需要按多个列排序,当第一个列相等时,按第二个列排序…以此类推。这是,我们只需要将需要排序的多个列间用逗号隔开即可。

如下: 先按 prod_price 排序,prod_price 相同时,按照 prod_name 排序

?
1
2
3
select prod_id, prod_price, prod_name
from Products
order by prod_price, prod_name;

3. 按列位置排序

order by 字句还支持按照列位置进行排序,这种方法的好处是不需要重新输入列名。但是它也有缺点,比如进行排序的列必须在 select 清单中,并且这种方式当 select 清单变化时容易造成错误。

如下:2, 3 分别表示 select 清单中的第二(prod_price),第三列(prod_name)

?
1
2
3
select prod_id, prod_price, prod_name
from Products
order by 2, 3;

4. 指定排序方式(升序或者降序)

order by 默认为升序排序 (asc),可以通过指定 desc 关键字来实现降序排序

如下: 通过在 order by 字句的最后加上 desc,实现降序排序

?
1
2
3
select prod_id, prod_price, prod_name
from Products
order by prod_price desc;

思考:当我们需要对多个列降序排序时,应该怎么写呢?

desc 作用域问题: desc 关键字只作用于直接位于其前面的列名,因此若是想要对多个列降序排序,需要在需要降序排序的每个列的最后都加上 desc 关键字

如下: 按照 prod_price 降序排序,当 prod_price 相同时,按照 prod_id 降序排序;同理,当 prod_id 相同时,按照 prod_name 降序排序。

?
1
2
3
select prod_id, prod_price, prod_name
from Products
order by prod_price desc, prod_id desc, prod_name desc;

注: desc 只作用于直接位于其前面的列名的特点,使得我们可以很好的定制化排序,在需要降序排序的列后加 desc,而其他列仍然可以按照升序排序,这种机制非常灵活。

5. 扩展—文本性数据如何排序

在对文本性数据进行排序时,A与a是否相同;a位于B之前,还是Z之后,取决于数据库的设计方式。

实际上,在字典排序顺序中,A被视为与a相同,大部分数据库也采取这种默认做法。要想改变这种行为,可以求助数据库管理员的帮助,许多DBMS容许数据库管理员改变这种行为。

到此这篇关于MySQL排序检索数据操作方法梳理的文章就介绍到这了,更多相关MySQL检索数据内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/liuwanqing233333/article/details/127272203

延伸 · 阅读

精彩推荐
  • Mysqlmysql实现自增序列的示例代码

    mysql实现自增序列的示例代码

    这篇文章主要介绍了mysql实现自增序列的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    jinxiaoshao11412021-04-13
  • MysqlMySQLDump的备份小技巧

    MySQLDump的备份小技巧

    mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump 。本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧。...

    MySQL技术11392021-07-19
  • Mysql深入sql数据连接时的一些问题分析

    深入sql数据连接时的一些问题分析

    本篇文章是对关于sql数据连接时的一些问题进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网4452019-12-26
  • Mysqlmysql多实例部署实例教程

    mysql多实例部署实例教程

    这篇文章主要介绍了mysql多实例部署,主要包括软件下载、配置用户并解压二进制程序至/usr/local下及创建各实例数据存放的目录,本文给大家介绍的非常详细...

    涂山布9392022-08-01
  • MysqlWindows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    这篇文章主要介绍了Windows7下如何在命令行使用MySQL的相关资料,需要的朋友可以参考下 ...

    MRR4472020-05-26
  • Mysqlmysql索引对排序的影响实例分析

    mysql索引对排序的影响实例分析

    这篇文章主要介绍了mysql索引对排序的影响,结合实例形式分析了mysql使用索引提高排序速度的相关操作技巧,需要的朋友可以参考下...

    webbc3712020-11-25
  • MysqlMySQL 主从同步,事务回滚的实现原理

    MySQL 主从同步,事务回滚的实现原理

    这篇文章主要介绍了MySQL 主从同步,事务回滚的实现原理,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下...

    梦尘啊6902021-03-23
  • MysqlMySQL按时间统计数据的方法总结

    MySQL按时间统计数据的方法总结

    在本篇MYSQL的内容里,我们给大家整理了关于按时间统计数据的方法内容,有需要的朋友们学习下。...

    脚本之家5952019-06-07