网站公告
·Access快速平台QQ群号:189307860    ·Access快速开发平台下载地址及教程    ·欢迎添加微信交流账号:Accessoft7    ·如何快速搜索本站文章|示例|资料!    
您的位置: 首页 > 技术文章 > access数据库-查询/SQL语句

精通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群 (群号:474833576)       access源码网店

最新评论 查看更多评论(1)

2017/11/15 9:31:20yihui
支持 适合新手学习

发表评论您的评论将提升作者分享的动力!快来评论一下吧!

用户名:
密 码:
内 容:
 

常见问答

技术分类

相关资源

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助