精通MS-ACCESS SQL之基础篇(06)
时 间:2017-11-14 16:21:58
作 者:Big Young ID:252 城市:襄阳
摘 要: ORDER BY 子句的用法,对查询的结果进行排序。
正 文:
第六节 对查询出来的记录进行排序
在执行查询时,其结果在默认情况下是按记录录入时的顺序排列的,比如我们前面使用过的 “学生信息” 数据表,其记录的输入的原始顺序如图6-1所示:
图6-1:表中数据录入时的顺序
我们再运行查询全部记录的SQL命令:“Select * FROM 学生信息;”,会看到如图6-2所示的效果,与前面的图6-1排列顺序是一样的,没有区别。
图6-2:查询记录显示的原始顺序
然而,我们有时需要按一定规则对数据进行排序。这时就需要用到ORDER BY子句了,可以通过实验室来实现这个功能。
一、查询结果排序命令的基本语法
排序查询结果的语法如下:
Select <* | column1 [AS] [alias1], column2 [AS] [alias2], ...> FROM table
[Where condition(s)]
[ORDER BY column1 [ASC | DESC ][, column2 [ASC | DESC ]][, ...]]];
在这里“ORDER BY column1, column2, ... [ASC|DESC]”子句的功能是进行排序作用的,句子中的“column1, column2, ...”是排序要依据的字段,“ASC”是英文单词“ascent”的字头,表示“升序”方式就是由小到大的方式排序,这是默认的排序方式,故“ASC”可以省略,“DESC”是单词“descent”的开头部分,表示“下降”的意思,用来指定降序排列。
二、按单个字段排序
查询时可以根据现实中不同的要求,灵活地对查询结果进行了排序,如在查询“学生信息”表中的记录时,我们想按“姓名”进行排序,就可以创建如下的SQL查询:
Select * FROM 学生信息 ORDER BY 姓名;
运行后的结果如图6-3所示。
图6-3:按姓名排序的查询结果(升序)
查看后我们发现默认是按“姓名”的中文拼音字母顺序的升序排序的,与使用“ASC”关键字效果是一样的,不信大家可以自己测试一下SQL语句:“Select * FROM 学生信息 ORDER BY 姓名 ASC;”,看看最终结果。
三、按多个字段排序
有时候,只按一个字段排序并不能满足我们的需要,这时可考虑使用多个字段来排序。在多字段排序中,需要明白的是,排序是以前面的字段为主,当前面的字段值相同时才按第二个字段排序,第二个再相同时才按第三个进行排序,依次类推。
下面我们来对查询到的“学生信息”记录先按“性别”,再按“出生日期”,然后再按“姓名”进行排序。
创建一个新的SQL查询查询,输入如下SQL语句:
Select * FROM 学生信息 ORDER BY 性别, 出生日期 DESC, 姓名;
运行后结果如图6-4所示:
图6-4:多字段查询效果
这里同时也演示了使用“DESC”关键字的使用,进行了降序排列
四、按相对位置上的字段进行排序
我们也可以在排序时不具体指定字段的名称,只用相对位置上的字段进行排序,这有时可能更通用,比如说我们建立如下的SQL语句:“Select * FROM 学生信息 Where 姓名 <> '齐丹丹' orDER BY 1 DESC;”对“学生信息”进行查询,结果会如下图6-5所示:
图6-5:按相对位置字段进行排序
再修改SQL语句为:“Select * FROM 学生信息 Where 姓名 <> '齐丹丹' orDER BY 2 DESC;”,运行后其结果如图6-6所示:
图6-6:按相对位置2上的字段排序
图6-5与图6-6相对照我们就会发现,排序条件中的“1”或“2”代表的是表里记录中的字段位置,即“1”是第一个字段,“2”是第二个字段,“3”是第三个字段,依次类推第四、第五……利用这一特性或许我们能够写出更为通用的查询,这有待大家去发现了。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)