【SQL系列学习(五)】
学习目标
对数据库中的数据进行排序
关键字:ORDERBY、ASC和DESC
内容结构
五、排序数据
5.1 升序排序
使用ORDER BY子句为SELECT语句添加排序。一般格式如下所示:
SELECT *columnlist*
FROM tablelist
ORDER BY *columnlist*
关键字SELECT和ORDER BY后边的斜体columnlist表示可以列出任意多个列。
在下面的一些排序示例中,将使用Salespeople表中的数据:
SalespersonID | FirstName | LastName |
---|---|---|
1 | Gregory | Brown |
2 | Carla | Brown |
3 | Natalie | Lopez |
4 | Connie | King |
特殊关键字ASC表示升序(ascending)。这个关键字完全是可选的,因为所有排序默认都是升序排列。
如下所示的SELECT语句,使用了ASC语句,返回的数据与不使用ASC语句的返回数据相同。
SELECT
FirstName,
LastName
FROM Salespeople
ORDEY BY FirstName ASC
检索到的数据如下所示:
FirstName | LastName |
---|---|
Carla | Brown |
Connie | King |
Gregory | Brown |
Natalie | Lopez |
5.2 降序排序
关键字DESC的排序顺序与ASC相关,它是降序的(descending)。例如:
SELECT
FirstName,
LastName
FROM Salespeople
ORDEY BY FirstName DESC
检索到的数据如下所示:
FirstName | LastName |
---|---|
Natalie | Lopez |
Gregory | Brown |
Connie | King |
Carla | Brown |
5.3 根据多列来排序
SELECT语句中可以添加多个排序列,如下所示:
SELECT
FirstName,
LastName
FROM Salespeople
ORDEY BY LastName, FirstName
列的顺序很重要,LastName列是主要排序值,列出的任何其他列,将会成为第2排序值、第3排序值等。
检索到的数据如下所示:
FirstName | LastName |
---|---|
Carla | Brown |
Gregory | Brown |
Connie | King |
Natalie | Lopez |
5.4 根据计算字段来排序
直接在ORDER BY子句中指定计算字段,如下所示:
SELECT
FirstName,
LastName
FROM Salespeople
ORDEY BY LastName + FirstName
数据的排序与5.3节中的示例相同。
5.5 排序序列
每个数据库都允许用户指定或定制排序规则(collation)设置,该设置描述了数据排序的细节。这种设置一般会遵循3个原则:
(1)首先,当数据以升序排列时,带有NULL值的数据最先出现,在NULL值后边是数字,然后是字符。当以降序排序时,字符最先,然后是数字,最后是NULL值。
(2)其次,对于字符数据,通常不区分大小写。
(3)最后,对于字符数据,从左到右来计算组成该值的单个字母。
5…6 小结
本节主要介绍了按照特定顺序对数据进行排序的基本可能性,介绍如何对多个列进行排序,用计算字段进行排序,最后介绍了一些特殊的排序,特别是数据中有NULL值以及字符列中有数字的情况。
【SQL系列学习(五)】相关推荐
- 第十三章 使用动态SQL(五)
文章目录 第十三章 使用动态SQL(五) 从结果集中返回特定的值 %Print()方法 %GetRow()和%GetRows()方法 rset.name属性 第十三章 使用动态SQL(五) 从结果集中 ...
- 2021年大数据Flink(三十八):Table与SQL 案例五 FlinkSQL整合Hive
目录 案例五 FlinkSQL整合Hive 介绍 集成Hive的基本方式 准备工作 1.添加hadoop_classpath 2.下载jar并上传至flink/lib目录 3.修改hive配置 4.启 ...
- 【数据分析】关于学习SQL的五个常见问题?
对从事数据工作的小伙伴来说,SQL几乎是必备技能,写得一手好SQL说明你是一个合格的'取数民工'. SQL如何从菜鸟到高手呢,一般分三步走: 熟悉基本的增删改查语句及函数,包括select.where ...
- SQL进阶五:SQL完整性约束
完整性约束用于增强数据的完整性,Oracle提供了5种完整性约束: Check NOT NULL Unique Primary Foreign key 完整性约束是一种规则,不占用任何数据库空间.完整 ...
- 【转】一步一步学Linq to sql(五):存储过程
普通存储过程 首先在查询分析器运行下面的代码来创建一个存储过程: create proc sp_singleresultset as set nocount on select * from cust ...
- PL/SQL开发五年工作经验精典实例
1. minus(差集)与intersect(交集) minus指令是运用在两个SQL语句上.它先找出第一个SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中,如果有的话,那这一笔 ...
- sql 多表多行模糊查询_从零开始学习SQL(五)多表查询
经过之前的学习,现在我们已经对查询有了一定的了解,但是我们目前的所有查询都只能找到在一张表中的数据,但如果我们需要寻找分布在多张表格中的数据时,这种之前的查询就做不到了,这时就需要引入一种新的查询方法 ...
- Spark SQL(五)之数据加载与存储
一.数据加载 (1)默认数据源(parquet) 最简单加载数据的方式,所有操作都使用默认数据源(parquet).如果指定默认数据源需要配置 spark.sql.sources.default参数. ...
- 数据库 数据库SQL语句五
集合运算union 并集(两个集合如果有重复部分,那么只显示一次重复部分) union all 并集(两个集合如果有重复部分,那么重复部分显示两次) intersect 交集 minus 差集--查询 ...
最新文章
- Vista光线效果photoshop教程
- 原型链Object的一些方法
- Sound recording and encoding in MP3 format.
- CentOS7.5安装Tigervnc-server
- [转载] Python中字符串的处理方法
- pythonchallenge之C++学习篇-01
- 关于Java中的final关键字
- delphi对比易语言_易语言转换delphi 易语言编程100例
- 60道SCJP考试真题精解
- MySQL数据库基础理论
- 什么软件可以编辑PDF文件
- 华为云计算08—灾备
- linux nic cpu 10%,cpu – NIC中的描述符概念
- 如何高效进行大规模分类?
- win10 Edge关闭smartscreen筛选器
- 微信小程序之左右布局
- 中国 CA 市场 分析
- P1489 猫狗大战
- Java第十一天笔记01——多线程编程
- php威客网,最新带支付宝支付接口的PHP威客任务网站完整版源码破_界面漂亮整洁...
热门文章
- TIMO后台管理系统—基于SpringBoot开发
- 前人栽树,后人乘凉,这棵二叉树早已枝繁叶茂,快来感受树荫下的清凉吧!!
- pythonturtle画小白兔_使用Python+turtle绘制动画重现龟兔赛跑现场
- 2008春晚诗朗诵《心里话》之程序员版(转)
- 4-CNN-demo-0503-GroupNorm-分组归一化
- PIXEL 2XL刷机指南(Android11更新)
- Java8新特性——Date Time API
- 浅谈Substance painter/Designer软件
- 阅读分享:Utilizing BERT Intermediate Layers for ABSA and NLI
- Blender简单卡通材质体现