




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,第5章数据查询,查询是Access处理和分析数据的工具,它能够把多个表中的数据抽取出来,供使用者查看、更改和分析使用。,-,2,教学目标,掌握查询的概念掌握各种查询的建立和使用方法,双语课堂C,重点与难点:查询的建立、查询准则、使用查询,-,3,5.1查询的基本概念,查询就是按给定的要求(包括条件、范围、方式等)从指定的数据源中查找,将符合条件的数据提取出来,形成一个新的数据集合,但这个数据集在数据库中实际上并不存在,只是在运行查询时,Access才会从查询源表的数据中抽取出来。查询的数据源:一个表或多个相关联的表、其他查询查询的结果:窗体、报表,另一个查询的基础,-,4,5.1.1查询的功能,提取数据实现计算数据更新产生新的表作为其他对象的数据源,查询结果,-,5,1提取数据,从一个或多个表中选择部分或全部字段例如,从学生表的若干个字段中选取学号、姓名、家庭住址3个字段,这是对列进行的操作。也可以从一个或多个表中将符合某个指定条件的记录选取出来,例如,从成绩表中提取期末成绩在90分以上的记录,这是对行进行的操作,这两种操作可以单独进行,也可以同时进行。,-,6,1提取数据,用来提供选择数据的表称为查询操作的数据源,作为查询数据源的也可以是已建立好的其他查询。选择记录的条件称为查询准则,也就是查询表达式,查询结果是一种临时表,又称为动态的记录集,通常不被保存,也就是说,每次运行查询,系统都是按事先定义的查询准则从数据源中提取数据,这样既可以节约存储空间,又可以保持查询结果与数据源中数据的同步。,-,7,2实现计算,在建立查询时可以进行一系列的计算,例如统计每个班学生的人数、计算每个学生的平均分等,也可以定义新的字段来保存计算的结果。,-,8,3数据更新,在Access中,对数据表中的记录进行的更新操作也是查询的功能,主要包括添加记录、修改记录和删除记录。,-,9,4产生新的表,利用查询得到的结果可以建立一个新表。例如,将期末成绩在90分以上的记录找出来并存放在一个新表中。,-,10,5作为其他对象的数据源,查询的运行结果可以作为窗体、报表和数据访问页的数据源,也可以作为其他查询的数据源。,Access的查询不仅仅是从数据源中提取数据,有的查询操作还包含了对原来数据表的编辑和维护。,-,11,5.1.2查询的类型,选择查询交叉表查询参数查询操作查询SQL查询,生成表查询删除查询更新查询追加查询,-,12,1选择查询,(1)按指定的条件,从数据源中提取数据(2)产生新的字段保存计算的结果(3)分组统计,-,13,2参数查询,参数查询也属于选择查询,与上面的选择查询不同的是,它的查询准则中的具体值(即参数值)是在查询运行时由用户输入的,而选择查询的查询准则中的参数值则是在查询的设计阶段事先指定的。,-,14,3交叉表查询,交叉表查询将来源于表或查询中的字段进行分组,一组列在数据表的左侧,一组列在数据表的顶端,然后在数据表行与列的交叉处显示表中某个字段的统计值。可以说交叉表查询就是利用了表中的行和列来统计数据。,-,15,4操作查询,先按照条件查询结果,然后用查询的结果对数据表进行编辑操作。(1)生成表查询(2)删除查询(3)更新查询(4)追加查询,-,16,5SQL查询,SQL(StructuredQueryLaguage,结构化查询语言)查询就是使用SQL语句来创建的一种查询。查询的实现在数据库中建立查询对象在VBA程序代码中使用结构化查询语言SQL,-,17,5.1.3建立查询的方法,查询向导创建查询使用设计视图创建查询在SQL窗口中创建查询,-,18,1使用查询向导创建查询,利用查询向导创建的查询只能从数据源中指定若干个字段进行输出,但不能通过设置条件来限制检索的记录。例5.1为学生表创建名为“入学成绩”的查询,查询结果中包括学号、姓名、性别、专业和入学成绩5个字段。,-,19,2使用设计视图建立查询,利用查询向导建立查询时,不能按指定条件选择记录,这时可以使用设计视图来建立。例5.2在学生表中查询入学成绩在550分(含550)以上的记录,查询结果中包括的字段与上例相同,查询名称为“入学成绩高于550”。,-,20,3在SQl_窗口中建立SQl_查询,在Access中,也可以在SQL窗口中直接输入SQL命令建立查询。对于上例,在“视图”按钮中选择“SQL视图”,可以在SQL视图中显示出下图的内容。,-,21,1“查询”菜单2视图方式3工具栏按钮,5.1.4创建查询使用的工具,-,22,5.1.5运行查询,创建查询时(1)单击工具栏上的“运行”按钮。(2)单击工具栏上的视图按钮,切换到“数据表视图”。查询创建后(1)在数据库窗口中单击“查询”对象,然后双击要运行的查询。(2)在数据库窗口中单击“查询”对象,选择要运行的查询,然后单击“打开”按钮。,-,23,5.2查询准则,查询建立的过程(1)选择数据源(2)指定查询类型(3)设置查询准则(4)为查询命名查询准则是用运算符将常量、字段名(变量)、函数连接起来构成的表达式,即查询表达式,例如前面例子中的“=550”。,-,24,常量书写,数字常量,则直接书写,例如:3.1416。文本型常量,要用半角的双引号“”将文本括起来。如:“王中华”。日期型常量,要用井号“#”将日期括起来。如:#2012-05-01#,-,25,字段名书写,通常要将字段名放在方括号中,如学号、姓名等,在输入时,如果不写方括号,系统会在条件中自动加上方括号,如果字段名中含有空格,则方括号是不能省的。如果在一个查询中的数据源不止一个,还应该在字段名前标明字段所在的表或查询,表示格式:表名!字段名或查询名!字段名例如:学生表中的姓名应该写成学生!姓名,-,26,5.2.1条件中使用的运算符,1算术运算符包括加(+)、减(-)、乘(*)、除()、整除()、乘方()、求余(mod)。2关系运算符等于(=)、不等于()、小于()、大于等于(=)。3逻辑运算符常用的逻辑运算符有3个:与(And)、或(Or)、非(Not)。4其他的特殊运算符(1)In(2)BetweenAandB(3)与空值有关的运算符:IsNull、IsNotNull(4)Like“?”、“*”、“#”、“”(5)&将两个字符串进行连接。,-,27,5.2.1条件中使用的运算符,1算术运算符加(+)、减(-)、乘(*)、除()整除()、乘方()、求余(mod)2关系运算符等于(=)、不等于()、小于()、大于等于(=)3逻辑运算符与(And)、或(Or)、非(Not),-,28,5.2.2条件中使用的函数,数值函数文本函数日期时间函数,-,29,1数值函数,(1)绝对值函数:Abs(数值表达式)功能:返回数值表达式值的绝对值。(2)取整函数:Int(数值表达式)功能:返回数值表达式值的整数部分。(3)平方根函数:Sqr(数值表达式)功能:返回数值表达式值的算术平方根。(4)符号函数:Sgn(数值表达式)功能:返回数值表达式值的符号值,当表达式的值为正、负和零时,函数值分别为1、-1和0。,-,30,2文本函数,在本类函数中的参数n、n1、n2都是数字表达式,文本函数用于对字符串进行处理,在Access的字符串中,一个汉字也作为一个字符处理。(1)空格函数格式:Space(n)功能:返回由n个空格组成的字符串。(2)重复字符函数格式:String(n,文本表达式)功能:返回“文本表达式”的第1个字符组成的字符串,字符个数是n个。,-,31,2文本函数,(3)截取子串函数格式:Left(文本表达式,n)Right(文本表达式,n)Mid(文本表达式,nl,n2)功能:Left()从文本表达式左边第1个字符开始截取n个字符。Right()从文本表达式右边第1个字符开始截取n个字符。Mid()从文本表达式左边第n1位置开始,截取连续n2个字符。说明:文本表达式是Null时,返回Null值。n为0时,返回一个空串。n的值大于或等于文本表达式的字符个数时,返回文本表达式。省略n2,则从n1位置开始截取以后的所有字符串。,Left(“计算机等级考试”,3)=“计算机”Right(“计算机等级考试”,2)=“考试”Mid(“计算机等级考试”,4,2)=“等级”,-,32,(4)字符串长度函数格式:Len(文本表达式)功能:返回文本表达式中字符的个数,即字符串的长度。例如,函数Len(“计算机等级考试”)的结果是7。表达式Len(姓名)=2表示查询姓名为两个字的记录。(5)删除前后空格函数格式:Ltrim(文本表达式)Rtrim(文本表达式)Trim(文本表达式)功能:Ltrim()返回去掉文本表达式前导空格后的字符串;Rtrim()返回去掉文本表达式尾部空格后的字符串;Trim()返回去掉文本表达式前导和尾部空格后的字符串。,2文本函数,-,33,3日期时间函数,(1)系统日期与时间函数格式:Now()Date()Time()功能:Now()返回系统当前的日期时间,由操作系统控制。Date()返回系统当前的日期。Time()返回系统当前的时间。,-,34,3日期时间函数,(2)求年份、月份、日和星期函数格式:Year(日期表达式|日期时间表达式)Month(日期表达式|日期时间表达式)Day(日期表达式|日期时间表达式)Weekday(日期表达式|日期时间表达式)功能:Year()返回日期中的年份;Month()返回日期中的月份;Day()返回日期中的日;Weekday()返回日期中的星期,从星期日到星期六的值分别是17,-,35,3日期时间函数,(3)时、分和秒函数格式Hour(时间表达式|日期时间表达式)Minute(时间表达式|日期时间表达式)Second(时间表达式|日期时间表达式)功能Hour()返回时间中的小时值;Minute()返回时间中的分钟;Second()返回时间中的秒。,例如,为出生日期定义下面的条件:(1)Between#1992-01-01#and#1992-12-31#(2)Year(出生日期)=1992(3)Year(出生日期)=1992andMonth(出生日期)=10(4)Date()-30查询30天前出生的记录。,-,36,5.3选择查询,自由地从一个或多个表或查询中抽取相关的字段和记录进行分析和处理。,-,37,5.3.1组合条件查询,例5.3在学生表中查询已通过四级的女生。,-,38,5.3.1组合条件查询,例5.4查询期中或期末成绩不及格的记录,要求显示学号、姓名、性别、期中和期末5个字段。本题的数据源是两个表,这两个表之间已经建立了一对多的关系,主表是学生表,从表是成绩表。,-,39,5.3.1组合条件查询,例5.5查询“计算机”课程期末考试不及格学生的学号和姓名。,-,40,例5.6查询“专业”是工商或者法学,选修了“体育”这门课程的学生。,5.3.1组合条件查询,-,41,5.3.2自定义计算查询,通常,查看学生成绩时,用户更关心学生每门课程的综合成绩。但由于综合成绩是由平时成绩、期中成绩和期末成绩折合而成的,根据数据库的设计原则,这类字段不宜作为原始数据保存,所以在数据表中没有存储学生的综合成绩。为查看此类信息,需要在查询中重新定义字段。自定义计算就是在设计网格中创建新的计算字段。,-,42,5.3.2自定义计算查询,例5.7用成绩表创建查询,计算并显示每个人的综合成绩,综合成绩是平时成绩10%,期中成绩20%,期末成绩70%。,说明:“综合成绩”字段是虚拟字段,计算的结果并不保存在表中。Access在每次运行查询时都将重新进行计算,以使计算结果永远都以数据库中最新的数据为准。,-,43,5.3.3预定义计算查询,预定义计算用于对查询中的分组记录或全部记录进行“总计”计算,通过在设计视图窗口的“总计”行设置聚合函数来实现。Access中可以使用的聚合函数及其作用如下:总计:计算某个字段的累加值。平均值:计算某个字段的平均值。计数:统计某个字段中非空值的个数。最大值:计算某个字段中的最大值。最小值:计算某个字段中的最小值。标准差:计算某个字段的标准差。方差:计算某个字段的方差。分组:定义用来分组的字段。第一条记录:求出在表或查询中第一条记录的字段值。最后一条记录:求出在表或查询中最后一条记录的字段值表达式:创建表达式中包含统计函数的计算字段。条件:指定分组满足的条件。,-,44,1对全部记录进行“总计”计算,例5.8建立一查询,统计期中和期末考试的平均成绩。,-,45,2对分组记录进行“总计”计算,例5.9建立一查询,统计每个专业的人数。,-,46,2对分组记录进行“总计”计算,例5.10创建“计算机期末成绩统计”查询,实现对“计算机”课程期末成绩的最高分、最低分和平均分的统计。,-,47,2对分组记录进行“总计”计算,例5.11建立一查询,统计每个学生所学课程的综合平均成绩。,-,48,5.3.4排序查询结果,在前面的总成绩查询和综合平均成绩查询结果中,显示的默认顺序是学号。若用户需要查看成绩排名,则需要在查询中设计排序规则。,-,49,5.3.4排序查询结果,例5.12修改“总成绩表”查询,实现按课程成绩排名。,-,50,5.3.4排序查询结果,例5.13从“总成绩表”查询中查找综合成绩最高的前3名。,-,51,5.4参数查询,参数查询利用对话框,提示输入参数,并检索符合所输参数的记录。可以建立一个参数提示的单参数查询,也可以建立多个参数提示的多参数查询。,-,52,5.4.1单参数查询,创建单参数查询,就是在字段中指定一个参数,在执行参数查询时,输入一个参数值。例5.14创建“期末成绩统计”查询,统计各门课程期末成绩的最高分、最低分和平均分。,-,53,5.4.2多参数查询,例5.15创建“学生成绩查询”,每次运行时输入不同的学号和课程名称,可以查询该学号学生某门课程的综合成绩,查询结果中要求有学号、姓名、性别、课程名和综合成绩等字段。,-,54,5.5交叉表查询,交叉表查询,就是将来源于某个表中的字段进行分组,一组列在查询表的左则,一组列在查询表的上部,然后在查询表行与列的交叉处显示表中某个字段的各种计算值。,-,55,5.5.1使用查询向导创建交叉表查询,例5.16显示每个学生每门课程的期末成绩。,-,56,5.5.2使用设计视图创建交叉表查询,例5.17分别统计每个专业每门课程的平均综合成绩。,-,57,5.6操作表查询,除了能从数据源中选择数据外,还可以改变表中的内容,例如增加数据、删除记录和更新数据等。用户在进行操作查询之前,应该先对数据表进行备份。,-,58,5.6.1生成表查询,生成表查询是将查询的结果保存到一个表中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猫咪宠物知识培训课件
- 安全教育木工培训课件
- 安全教育操作培训课件
- 牧场青贮安全专题培训课件
- 农业废弃物资源化利用在2025年绿色农业发展中的应用报告
- 安全教育培训骗局课件
- 辽水集团面试题库及答案
- 康复导诊面试题库及答案
- 城市绿化计划方案
- 2025年废旧电子产品回收处理与环保产业市场分析报告
- 2025年4月自考00908网络营销与策划试题及答案
- 医疗背景下的园艺景观规划设计方法
- 2025年行测真题及答案详解
- 排污许可培训课件
- 迪拜果蔬市场发展趋势与前景分析
- 2025年调饮师职业技能竞赛(省赛)考试题库(含答案)
- 班级量化管理方法分享
- 土方倒运施工方案作业方案
- 工程部员工绩效考核方案
- 抢救车管理制度
- Python工程应用-数据分析基础与实践课件-第3章
评论
0/150
提交评论