3.1 排序数据

子句(clause)
SQL语句由子句构成。一个子句通常由一个关键字加上所提供的数据组成。
ORDER BY子句可以取一个或多个列的名字,将SELECT语句检索出的数据进行排序。
ORDER BY子句可以使用非检索的列排序数据。
ORDER BY子句必须作为SELECT语句中最后一条子句。

MariaDB [sqlbzbh]> SELECT prod_name FROM Products ORDER BY prod_name;
+---------------------+
| prod_name           |
+---------------------+
| 12 inch teddy bear  |
| 18 inch teddy bear  |
| 8 inch teddy bear   |
| Bird bean bag toy   |
| Fish bean bag toy   |
| King doll           |
| Queen doll          |
| Rabbit bean bag toy |
| Raggedy Ann         |
+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]>
MariaDB [sqlbzbh]> SELECT prod_name FROM Products ORDER BY vend_id;
+---------------------+
| prod_name           |
+---------------------+
| 8 inch teddy bear   |
| 12 inch teddy bear  |
| 18 inch teddy bear  |
| Fish bean bag toy   |
| Bird bean bag toy   |
| Rabbit bean bag toy |
| Raggedy Ann         |
| King doll           |
| Queen doll          |
+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]> 

3.2 按多个列排序

要按多个列排序,简单指定列名,列名之间用逗号分开即可。
在按多个列排序时,排序的顺序完全按规定进行。也就是说,仅在前一列的多个行具有相同的值时,才按照下一列进行排序。

MariaDB [sqlbzbh]> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY prod_price,prod_name;
+---------+------------+---------------------+
| prod_id | prod_price | prod_name           |
+---------+------------+---------------------+
| BNBG02  |       3.49 | Bird bean bag toy   |
| BNBG01  |       3.49 | Fish bean bag toy   |
| BNBG03  |       3.49 | Rabbit bean bag toy |
| RGAN01  |       4.99 | Raggedy Ann         |
| BR01    |       5.99 | 8 inch teddy bear   |
| BR02    |       8.99 | 12 inch teddy bear  |
| RYL01   |       9.49 | King doll           |
| RYL02   |       9.49 | Queen doll          |
| BR03    |      11.99 | 18 inch teddy bear  |
+---------+------------+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]> 

3.3 按列位置排序

ORDER BY支持按相对列位置进行排序。
优点是不用重新输入列名,缺点是容易造成错误排序。个人不建议使用。
如果有必要,可以混合使用实际列名和相对列位置。

MariaDB [sqlbzbh]> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY 2,3;
+---------+------------+---------------------+
| prod_id | prod_price | prod_name           |
+---------+------------+---------------------+
| BNBG02  |       3.49 | Bird bean bag toy   |
| BNBG01  |       3.49 | Fish bean bag toy   |
| BNBG03  |       3.49 | Rabbit bean bag toy |
| RGAN01  |       4.99 | Raggedy Ann         |
| BR01    |       5.99 | 8 inch teddy bear   |
| BR02    |       8.99 | 12 inch teddy bear  |
| RYL01   |       9.49 | King doll           |
| RYL02   |       9.49 | Queen doll          |
| BR03    |      11.99 | 18 inch teddy bear  |
+---------+------------+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]> 

3.4 制定排序方向

默认的排序顺序是升序排序(从A到Z)。
可以使用ORDER BY子句进行降序排序(从Z到A),但必须指定DESC关键字。
DESC关键字只应用到直接位于其前面的列名。如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。
DESC是DESCENDING的缩写,这两个关键字都可以使用。
ASC是ASCENDING的缩写,因为升序是默认的,所以不必指定关键字。

MariaDB [sqlbzbh]> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY prod_price;
+---------+------------+---------------------+
| prod_id | prod_price | prod_name           |
+---------+------------+---------------------+
| BNBG01  |       3.49 | Fish bean bag toy   |
| BNBG02  |       3.49 | Bird bean bag toy   |
| BNBG03  |       3.49 | Rabbit bean bag toy |
| RGAN01  |       4.99 | Raggedy Ann         |
| BR01    |       5.99 | 8 inch teddy bear   |
| BR02    |       8.99 | 12 inch teddy bear  |
| RYL01   |       9.49 | King doll           |
| RYL02   |       9.49 | Queen doll          |
| BR03    |      11.99 | 18 inch teddy bear  |
+---------+------------+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]>
MariaDB [sqlbzbh]> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY prod_price DESC;
+---------+------------+---------------------+
| prod_id | prod_price | prod_name           |
+---------+------------+---------------------+
| BR03    |      11.99 | 18 inch teddy bear  |
| RYL01   |       9.49 | King doll           |
| RYL02   |       9.49 | Queen doll          |
| BR02    |       8.99 | 12 inch teddy bear  |
| BR01    |       5.99 | 8 inch teddy bear   |
| RGAN01  |       4.99 | Raggedy Ann         |
| BNBG01  |       3.49 | Fish bean bag toy   |
| BNBG02  |       3.49 | Bird bean bag toy   |
| BNBG03  |       3.49 | Rabbit bean bag toy |
+---------+------------+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]>
MariaDB [sqlbzbh]> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY prod_price DESC, prod_name;
+---------+------------+---------------------+
| prod_id | prod_price | prod_name           |
+---------+------------+---------------------+
| BR03    |      11.99 | 18 inch teddy bear  |
| RYL01   |       9.49 | King doll           |
| RYL02   |       9.49 | Queen doll          |
| BR02    |       8.99 | 12 inch teddy bear  |
| BR01    |       5.99 | 8 inch teddy bear   |
| RGAN01  |       4.99 | Raggedy Ann         |
| BNBG02  |       3.49 | Bird bean bag toy   |
| BNBG01  |       3.49 | Fish bean bag toy   |
| BNBG03  |       3.49 | Rabbit bean bag toy |
+---------+------------+---------------------+
9 rows in set (0.00 sec)MariaDB [sqlbzbh]> 

转载于:https://www.cnblogs.com/anliven/p/6201060.html

读书笔记--SQL必知必会03--排序检索数据相关推荐

  1. 深耕MySQL - SQL必知必会

    文章目录 01. 数据准备 02. 选择语句 select 03. 排序检索数据 04. 过滤数据 05. 高级数据过滤 06. 用通配符进行过滤 07. 聚合函数 08. 分组数据 09. 内连接 ...

  2. 深耕MySQL - MySQL必知必会

    文章目录 01. 数据准备 02. 检索数据 03. 排序检索数据 04. 过滤数据 05. 数据过滤 06. 用通配符进行过滤 like 07. 使用正则表达式进行搜索 regexp 08. 计算字 ...

  3. mysql必知必会日期函数,MySQL:MySQL必知必会总结

    1. SHOW 语句: Show database;#返回可用数据库的一个列表 Show Tables;#返回当前选择数据库内的可用表的列表 Show COLUMNS FROM 表名;#表中的每个字段 ...

  4. 【SQL】【读书笔记】《MySQL必知必会》

    本文为<MySQL必知必会>[1]读书笔记,用于总结知识点和框架,仅供参考和交流,如有不妥请联系.由于软件版本更新,书中的一些代码已经不再适用,本文主要从SQL基本语句进行增删减.窗口函数 ...

  5. asp sql ip地址排序_SQL必知必会读书笔记,30分钟入门SQL!

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 来源:https://segmentfault.com/p/1210000011760 ...

  6. SQL必知必会第4版读书笔记

    SQL必知必会_4 前言 @author 鲁伟林 在读电子版<<SQL必知必会>> 第4版时,做了下笔记.供以后自己或者其他学习者参考. 电子版<<SQL必知必会& ...

  7. SQL必知必会读书笔记

    <SQL必知必会> 1.SQL概述(概念.优点.数据库术语) * 日常生活中的数据库案例举例(例如在网站搜索东西:登录账号密码:取钱:) * 数据库概念:数据库database(以一种有组 ...

  8. 《SQL必知必会》读书笔记上(第1~15章)

    目录 第1章 了解SQL 第2章 MySQL简介 第3章 使用MySQL 3.1 连接数据库 3.2 选择数据库 3.3 显示数据库和表 3.4 其他SHOW语句 第4章 检索数据 4.1 SELEC ...

  9. [SQL必知必会] 读书笔记

    第1课 数据库 这一课介绍SQL究竟是什么,它能做什么事情. 1.1 数据库基础 下面是一些数据库概念的简要介绍,如果你刚开始接触数据库,可以由此了解必需的基本知识. 1.1.1 数据库 数据库这个术 ...

  10. 【读书笔记】SQL必知必会

    章节 标题 页数 进度 完成时间 1 了解SQL 1~9 100% 2022-04-08  2 检索数据 SELECT 10~22 100% 2022-04-10 3 排序检索数据 ORDER BY ...

最新文章

  1. ORA-01109:数据库未打开(解决)
  2. 现实迷途 第七章 特殊客户
  3. DOS配合FastCopy实现远程增量备份
  4. fz响应无法连接到服务器,fz链接不到服务器
  5. origin遇到不适当的参数_Origin教程|如何更改Lable和设置非均匀坐标
  6. 我在华为做Android外包的真实经历!吊打面试官系列!
  7. python中imread导入失败_ImportError:无法导入加载图像文件所需的Python Imaging Library(PIL)...
  8. 别人的电子书,你的电子书,都在bookdown
  9. ROS学习笔记基础2(基础知识和ROS架构)
  10. Prototype使用Event
  11. 自然语言5——初学者书籍
  12. php中的上传全局变量 把全局变量的数组形式变得更简易
  13. 字体靠右代码_html中怎么把文字往右移
  14. Mac电脑彻底卸载office(Excel,Word)
  15. 谷歌中设置utf8编码
  16. 计算机毕业设计ssm基于b_s架构的实习管理系统
  17. VM12 启动虚拟机问题汇总
  18. 戴尔笔记本如何查看HTML代码,如何查看戴尔笔记本电脑的型号
  19. 卷积神经网络中feature map是什么
  20. 谈瓦克生产基地爆炸停产对中国多晶硅市场的影响

热门文章

  1. FreeRTOS时间管理
  2. riak php7,Laravel中服务提供者的register和boot分别是干什么
  3. python将一个列表里面的某类元素取出来_03|Python列表常见操作
  4. [Golang] 用interface{}实现泛型出现的问题
  5. 2.两数相加 golang
  6. c++中的函数适配器
  7. 二级指针与指针数组的关系
  8. 11-散列3 QQ帐户的申请与登陆 (25 分)
  9. linux非阻塞的socket发送数据出现EAGAIN错误的处理方法
  10. 渣本毕业两年经验,看这一篇就够了!