- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章数据
第5章 数据查询
在数据库操作中,很大一部分工作是对数据进行统计、计算与检索。虽然可以在数据表中进行筛选、排序、浏览等操作,但是数据表在执行数据计算以及检索多个表时,就显得无能无力了。查询是Access处理和分析数据的工具,它能够把多个表中的数据抽取出来,供使用者查看、更改和分析使用。本章将详细介绍查询的基本概念、各种查询的建立和使用方法。
5.1 查询的基本概念
查询是Access数据库中的一个重要对象。查询就是按给定的要求(包括条件、范围、方式等)从指定的数据源中查找,将符合条件的数据提取出来,形成一个新的数据集合,但这个数据集在数据库中实际上并不存在,只是在运行查询时,Access才会从查询源表的数据中抽取出来。查询的数据源可以是一个表,也可以是多个相关联的表,还可以是其他查询。查询的结果可以生成窗体、报表,还可以作为另一个查询的基础。使用查询可以按照不同的方式查看、更改和分析数据;也可以将查询作为窗体、报表、数据访问页的数据源。
5.1.1 查询的功能
Access 2003的查询功能非常强大,提供的方式也非常灵活,可以使用多种方法来实现查询数据的要求。其中最主要的功能如下。
1.提取数据
从一个或多个表中选择部分或全部字段,例如,从学生表的若干个字段中选取3个字段:学号、姓名、家庭住址,这是对列进行的操作。也可以从一个或多个表中将符合某个指定条件的记录选取出来,例如,从成绩表中提取期末成绩在90分以上的记录,这是对行进行的操作,这两种操作可以单独进行,也可以同时进行。
用来提供选择数据的表称为查询操作的数据源,作为查询数据源的也可以是已建立好的其他查询。选择记录的条件称为查询准则,也就是查询表达式,查询结果是一种临时表,又称为动态的记录集,通常不被保存,也就是说,每次运行查询,系统都是按事先定义的查询准则从数据源中提取数据,这样既可以节约存储空间,又可以保持查询结果与数据源中数据的同步。
2.实现计算
在建立查询时可以进行一系列的计算,例如统计每个班学生的人数、计算每个学生的平均分等,也可以定义新的字段来保存计算的结果。
3.数据更新
在Access中,对数据表中的记录进行的更新操作也是查询的功能,主要包括添加记录、修改记录和删除记录。
4.产生新的表
利用查询得到的结果可以建立一个新表。例如,将期末成绩在90分以上的记录找出来并存放在一个新表中。
5.作为其他对象的数据源
查询的运行结果可以作为窗体、报表和数据访问页的数据源,也可以作为其他查询的数据源。
最后两个功能实际上是对查询结果进行的处理,从上面的说明中可以看出,Access的查询不仅仅是从数据源中提取数据,有的查询操作还包含了对原来数据表的编辑和维护。
5.1.2 查询的类型
按照查询结果是否对数据源产生影响以及查询准则的设计方法的不同,可以将查询分为选择查询、交叉表查询、参数查询、操作查询和SQL查询。
不同类型的查询可以在“查询”菜单中进行选择。
1.选择查询
选择查询是最常用的一类查询,它主要完成以下的功能:
(1)按指定的条件,从数据源中提取数据,例如期末成绩在90分以上的记录,姓名为“王中华”的记录等。
(2)产生新的字段保存计算的结果,例如,在成绩表中产生“总评”字段,计算每个学生的总评成绩。
(3)分组统计,即按某个字段对记录进行分组,分别对每一组进行诸如总计、计数、平均等计算,例如,按课程号分类,分别统计每门课程的平均分。
2.参数查询
参数查询也属于选择查询,与上面的选择查询不同的是,它的查询准则中的具体值(即参数值)是在查询运行时由用户输入的,而选择查询的查询准则中的参数值则是在查询的设计阶段事先指定的。例如,每次查询后记录的姓名都不一样时,就可以将姓名设计为参数,这样在运行查询时,在Access提供的对话框中输入具体的参数值(姓名)。
3.交叉表查询
交叉表查询将来源于表或查询中的字段进行分组,一组列在数据表的左侧,一组列在数据表的顶端,然后在数据表行与列的交叉处显示表中某个字段的统计值。可以说交叉表查询就是利用了表中的行和列来统计数据。
例如,统计每个学生每门课程的期末成绩,可以通过建立交叉表查询来实现(参见图5.46),左侧是学号、姓名、性别(行标题),顶端是课程名(列标题),查询的计算数据是期末成绩。
4.操作查询
以上3类查询共同之处都是从数据源中选择指定的数据,操作查询则不同,它的运行过程是先按照条件查询结果,然后用查询的结果对数据表进行编辑操作,根据编辑方法的不同,操作查询有以下4种。
(1)生成表查询 生成表查询是用从一个或多个表中选择的数据建立一个新的表,也就是将查询结果以表的形式保存,例如,将成绩表中期末成绩不及格的学生记录保存到一个新表中。
(2)删除查询 删除查询是先从表中选择满足条件的记录,然后将这
文档评论(0)