版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章查询查询就是将一个或多个数据表中满足特定条件的数据检索出来。查询不仅可以基于数据表来创建,还可基于查询来创建,同时,查询不仅可以根据指定条件来进行数据的查找,还可对数据进行计算、统计、排序、筛选、分组、更新和删除等各种操作。15.1查询概述
查询是对数据库表中的数据进行查找,产生动态表的过程。在Access中可以方便地创建查询,在创建查询的过程中需要定义查询的内容和规则,运行查询时系统将在指定的数据表中查找满足条件的记录,组成一个类似数据表的动态表。2查询尽管是“虚”表,但它同样是数据库中为其它对象提供数据的基础数据源,事实上查询的功能要比数据表的功能强大得多。查询的作用:35.1.1查询的功能
(1)基于一个表,或多个表,或已知查询,创建一个满足某一特定需求的数据集。(2)利用已知表或已知查询中的数据,可以进行数据计算,生成新字段。(3)利用查询可以选择一个表,或多个表,或已知查询中数据进行操作,使查询结果更具有动态性,大大地增强了对数据的使用效率。(4)利用查询可以将表中数据按某个字段进行分组并汇总,从而更好地查看和分析数据。(5)利用查询可以生成新表,可以更新、删除数据源表中的数据,也可以为数据源表追加数据。(6)查询还可以为窗体、报表提供数据来源。45.1.2查询的类型在Access中,主要有以下几种查询类型:选择查询、参数查询、交叉表查询、动作查询及SQL查询,其中,操作查询、SQL查询必须是在选择查询的基础上创建的。(1)选择查询(2)参数查询(3)交叉表查询(4)操作查询(动作查询)(5)SQL查询(下一章学习)55.2表达式在Access中,表达式广泛地应用于表、查询、窗体、报表、宏和事件过程等。表达式由运算对象、运算符和括号组成,运算对象包括常量、函数和对象标识符。Access中的对象标识符可以是数据表中的字段名称、窗体、报表名称、控件名称、属性名称等。65.2.1常量常量分为系统常量和用户自定义常量,系统常量如逻辑值True(真值)、False(假值)和Null(空值)。注意:空值不是空格或空字符串,也不是0,而是表示没有值。用户自定义常量又常称为字面值,如数值“100”、字符串“ABCD”和日期“#08/8/8#”等。Access的常量类型包括数值型、字符型、日期型和逻辑型。75.2表达式5.2.1常量1.数值型2.文本型:(字符型)
定界符(设定界限的符号):单引号‘’或者双引号“”3.日期型:定界符:#或者/
eg:2008年7月18日表示成:#08-07-18#4.逻辑型81.数值型数值型常量包括整数和实数。整数如123;实数,用来表示包含小数的数或超过整数示数范围的数,实数既可通过定点数来表示,也可用科学计数法进行表示。实数如12.3或0.123E2。92.文本型文本型常量由字母、汉字和数字等符号构成的字符串。定义字符常量时需要使用定界符,Access中字符定界符有两种形式:单引号('')、双引号("")。如字符串'ABC'或"ABC"。103.日期型日期型常量即用来表示日期型数据。日期型常量用“#”作为定界符,如2008年7月18日,表示成常量即为#08-7-18#,也可表示为#08-07-18#。在年月日之间的分隔符也可采用“/”作为分隔符,即#08/7/18#或#08/07/18#。对于日期型常量,年份输入为2位时,如果年份在00~29范围内,系统默认为2000~2029年;如果输入的年份在30~99之间,则系统默认为1930~1999年。如果要输入的日期数据不在默认的范围内,则应输入4位年份数据。114.逻辑型逻辑型常量有两个值,真值和假值,用True(或-1)表示真值,用False(或0)表示假值。系统不区分True和False的字母大小写。注意在数据表中输入逻辑值时,如果需要输入值,则应输入-1表示真,0表示假,不能输入True或False。125.2.2Access常用函数系统设计人员提供了上百个的函数以供用户使用。在Access使用过程中,函数名称不区分大小写。根据函数的数据类型,我们将常用函数分为:数学型、文本型、日期时间型、逻辑型和转换函数等。本节,我们将对一部分常用函数进行介绍,如果需要更多的函数,请查阅帮助或系统手册。135.2.2Access常用函数根据函数的数据类型:(1)数学型(2)文本型(3)日期时间型(4)逻辑型(5)转换函数(6)测试函数141.常用数学函数如下表:152.常用字符函数如下表:163.常用日期函数如下表:174.常用转换函数如下表:185.常用测试函数如下表:195.2.3表达式表达式是由运算符和括号将运算对象连接起来的式子。常量和函数可以看成是最简单的表达式。表达式通常根据运算符的不同将表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式。20在进行算术运算时,要根据运算符的优先级来进行。算术运算符的优先级顺序如下:先括号,在同一括号内,单目运算的优先级最高,然后先幂,再乘除,再模运算,后加减。21注意:在算术表达式中,当“+”号运算符的两侧的数据类型不一致,一侧是数值型数据,一侧是数值字符串时,完成的是算术运算,当两侧均为数值符号串时,系统完成的是连接运算,而不是算术运算。22注意:(1)“+”运算符的两个运算量都是字符表达式时才能进行连接运算;(2)“&”运算符是将两个表达式的值进行首尾相接。表达式的值可以是字符、数值、日期或逻辑型数据。如果表达式的值非字符型,则系统先将它转换为字符,再进行连接运算。可用来将多个表达式的值连接在一起。233.关系表达式关系表达式可由关系运算符和字符表达式、算术表达式组成,它的运算结果为逻辑值。关系运算时是运算符两边同类型的元素进行比较,关系成立,则表达式的值为真(True),否则为假(False)。24关系运算遵循如下规则:(1)数值型数据按照数值大小比较;(2)字符型数据按照字符的ASCII码比较,但字母不区分大小写。汉字默认的按拼音顺序进行比较;(3)日期型数据,日期在前的小,在后的大;(4)逻辑型数据,逻辑值False(0)大于True(-1);(5)Like在模式符中支持通配符。在模式符中可使用通配符“?”表示一个字符(字母、汉字或数字),通配符“*”表示零个或多个字符(字母、汉字或数字),通配符“#”表示一个数字。在模式符中使用中括号([])可为Like左侧该位置的字符或数字限定一个范围。如[a-d],即表示a、b、c、d中的任何一个符号;若在中括号内指定的字符或数字范围前使用“!”号,则表示不在该范围内,如[!2-4],即除2、3、4之外的任意数字;(6)在运算符Like前面可以使用逻辑运算符Not,表示相反的条件。254.逻辑表达式逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型对象标识符、返回逻辑型数据的函数和关系运算符组成,其运算结果仍是逻辑值。26注意:逻辑表达式的运算优先级从高到低是:括号,Not,And,Or,Xor,Eqv表达式运算的规则是:在同一个表达式中,如果只有一种类型的运算,则按各自的优先级进行运算;如果有两种或两种以上类型的运算时,则按照函数运算、算术运算、字符运算、关系运算、逻辑运算的顺序来进行275.2.3表达式1.算术表达式及表达式的实例如下表:282.字符表达式及表达式的实例如下表:293.关系表达式及表达式的实例如下表:304.逻辑表达式在运算过程中所遵循的运算规则如下表所示:31逻辑表达式及表达式的实例如下表所示:325.3选择查询创建查询的方法一般有两种:查询向导和“设计”视图。利用查询向导,可创建不带条件的查询。如果要创建带条件的查询,则必须要在查询设计视图中进行设置。335.3选择查询5.3.1利用向导创建查询1.基于单表的简单查询向导2.基于多表的查询向导345.3.2
利用“设计”视图创建查询1.查询“设计”视图2.使用“设计”视图创建查询3.查询设计网格的使用355.3.3查询属性1.上限值2.记录集类型3.输出所有字段4.唯一值365.3.4添加计算字段在查询中,我们会常常关心数据表中的某些信息,而不是数据表的某个字段的完全信息,这就需要采用添加计算字段的方式来实现。例1:要查看学生基本信息表中所有学生的出生月份,最后显示学生的姓名和出生月份,并按出生月份升序排列。375.3.5总计查询在建立总计查询时,人们更多的是关心记录的统计结果,而不是具体的某个记录。如学生的人数、各个学院的学生人数、选课学生的平均成绩等。在查询中,除了查询满足某些特定条件的记录外,还常常需要对查询的结果进行相应的计算,如求最大值、最小值、计数、求均值等等。总计查询分为两类:(1)对数据表中的所有记录进行总计查询(2)对记录进行分组后再分别进行总计查询。注意:不能在总计查询的结果中修改数据。382.总计查询创建总计查询的操作方式与普通的条件查询相同,唯一的区别是需要设计总计行,即在查询设计视图下,单击工具栏中的“总计”按钮,在设计网格中添加“总计”行,在总计行中对总计的方式进行选择。例2:统计学生基本情况表中学生的总人数或者统计女学生的总人数。
393.分组总计查询在查询中,我们常常不仅需要对某一个字段进行统计,同时,还希望将记录进行分组,再对分级后的值进行统计。这样,在分组时,只需在查询中添加一列分组列,对分组后的结果进行统计。例3:对学生基本情况表中的学生按学院分组进行人数统计。40提醒:在多表查询时,一定要注意数据表之间的关系,即在数据区域中的所有数据表一定要建立关联。
例5:查询学生选课的每一门课程的最高分和最低分,输出结果是课程名称、最高分和最低分。例4:查询所有已选课同学的选课门数和平均分,要求显示姓名、选课门数和平均分。415.4交叉表查询在Access中进行查询时,可以根据条件查看满足某些条件的记录,也可以根据需求在查询中进行计算。但这两方面的功能并不能很好地解决在数据查询中的问题。如果我们需要查看每个学院的男女生各自的人数,采用分组查询时,每个学院均有男生和女生,则每个学院在查询的结果中均会出现两次,同样,在同一性别中,所属学院名称也会重复出现。在Access中,系统提供了一种很好地查询方式解决此类问题,即交叉表查询。42例6:创建一个交叉表查询,显示每个学院的男女生人数。注意:比较交叉表查询和分组总计查询的区别。435.4.1利用向导创建交叉表查询使用交叉表查询向导创建查询时要求查询的数据源只能来源于一个表或一个查询,如果查询数据涉及到多表,则必须先将所有相关数据建立一个查询,再用该查询来创建交叉表。例7:
查看每一门课程中选课的男女生人数,查询涉及学生基本情况表、学生成绩表、教师开课情况表和课程信息表等4个表。445.4.2利用“设计视图”创建交叉表查询在交叉表查询中,除了运用交叉表查询向导创建交叉查询外,还可利用查询设计视图创建交叉表查询。例7:
查看每一门课程中选课的男女生人数,查询涉及学生基本情况表、学生成绩表、教师开课情况表和课程信息表等4个表。455.5操作查询在对数据库进行维护时,常常需要大量的修改数据,如备份数据表、在数据表中删除不符合条件的数据、对数据表中的数据进行批量修改等操作。Access提供了相应的操作查询,可以轻松地完成相应的操作。Access提供的操作查询一共有4种:生成表查询、删除查询、更新查询、追加查询。465.5.1生成表查询查询是一个动态数据集,关闭查询,则动态数据集就不存在了,如果要将该数据集独立保存备份,或提交给其他的用户,则可通过生成表查询将动态数据集保存在一个新的数据表中。生成表查询可以利用一个或多个表的数据来创建新数据表。例8:
生成一个学生体检表,显示学生的学号、姓名、性别、年龄、学院等信息。475.5.2更新查询更新查询可以根据条件对一个或多个数据表中的一批数据进行更新,大大提高了数据的维护效率和准确性。例9:
让学生体检表中,设置06级学生周五上午体检,07级学生周五下午体检实现第一步:使所有学生体检时间为周五上午,第二步:使07级学生体检时间更新到周五下午。48例10:计算教师基本工资表中公积金字段,更新为:公积金=(基本工资+薪级工资+岗位津贴)*13%495.5.3追加查询追加查询即是根据条件将一个或多个表中的数据追加到另一个数据表的尾部的操作,通常可以使用该操作来实现数据的备份等。例11:
创建一个学生特长表,包含学号、姓名、性别和个人爱好等字段,并把学生基本情况表中所有爱好书法的学生添加到学生特长表中。505.5.4删除查询删除查询是从一个或多个数据表中删除满足条件的记录,这里删除的是记录,而不是数据表中某个字段的值,如果要删除某个字段的值,可利用更新查询来实现。注意:如果多表删除的话:1.在关系对话框中,定义表之间的关系;2.在关系对话框中,实现参照性完整;3.在关系对话框中,选中级联删除相关记录例12:
将学生特长表中的男同学的记录删除。515.6参数查询在前面创建的查询中,不管采用何种方式实现的查询,它的查询条件和方式都是固定的,如果我们希望按照某个字段或表达式不同的值来查看结果,就必须使用参数查询。严格地说,参数查询不能算是单独的一类查询,它是建立在选择查询、交叉表查询或操作查询基础上的。在建立选择查询、交叉表查询和操作查询后,可将它修改为参数查询。525.6.1单参数查询创建单参数查询,即是在查询设计网格中指定一个参数,在执行参数查询时,根据提示输入参数值完成查询。创建参数查询的方式是在“设计网格”的“条件”行中,利用方括号将查询参数的提示信息括起来,通常我们也将括号内的内容称作参数名,同时将括号及其括起来的内容作为查询的条件参数。53
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购销合同诈骗不要轻信陌生人的信誉
- 足疗店合作联盟合同范例
- 软件合同保密协议的实证研究方法
- 软件许可和授权合同
- 输送带安装手册销售合同
- 违反校规学生保证书范文
- 透水混凝土透水混凝土排水层买卖合同
- 遵守纪律的保证书
- 酒店品质严格保保证
- 酒店旅游服务合同模板
- 中药饮片出库单
- 《河南省高标准农田示范区“投融建运管”一体化推进操作导则(试行)》
- 危重患者营养支持的意义及时机
- 林业基础知识考试复习题库(浓缩500题)
- 六年级上册《比》《圆》测试题(A4版)
- 网络用语对现代汉语词汇学习的影响研究
- 中信银行面试问题及答案
- 神经病学 ppt课件 癫痫
- 耳念珠菌院感专家讲座
- 大学生国家安全教育智慧树知到答案章节测试2023年广西科技大学
- 2022年症状性颅内动脉粥样硬化性狭窄血管内治疗中国专家共识
评论
0/150
提交评论