Access数据库技术与应用第4章查询课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Access数据库技术与应用第4章查询课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Access 数据库技术 应用 查询 课件
- 资源描述:
-
1、第4章 查询4.1 4.1 查询查询概述概述 查询是数据库管理系统最常用、最重要的功能。通过查询,可以对数据库中一个或多个表中的数据进行检索,获得需要的数据或统计结果等.24.1.14.1.1 查询查询的的特点特点(1)表是存储数据的数据库对象,而查询则是对表中的数据进行检索、统计、分析、查看和更改的又一个非常重要的数据库对象。(2)如果说表是对数据进行了分割,那么查询则是将不同表的数据进行组合,它可以从多个表中查找到满足条件的记录组成一个动态集,以数据表视图的方式显示。(3)查询对象中保存的是查询准则,而不是查询的结果。(4)表和查询都是查询的数据源,查询也是窗体、报表的数据源。(5)建立查
2、询之前,一定要先建立表与表之间的关系。34.1.24.1.2 查询查询的的类型类型Access2010主要提供了两种查询方式。屏幕操作方式,通过建立查询的可视化方法存储查询条件;程序方式,通过直接书写SQL命令的方式实现查询。Access2010的查询有五种形式:选择查询 交叉表查询 参数查询 操作查询 特殊用途查询44.2.1使用查询向导创建查询 例例4-1 使用查询向导创建查询,查询“学生信息”表中学生的信息,要求显示学生的“学号”、“姓名”、“性别”和“政治面貌”信息,查询名为“学生名单”。(1)打开“学生管理系统”数据库,单击功能区“创建”选项卡下“查询”组中的“查询向导”按钮。打开新
3、建查询对话框,选择“简单查询向导”。5(2)单击“确定”按钮,在打开的对话框“表/查询”列表框中选择“学生信息”表,在“可用字段”中选择所需字段。6 选择表 选择可用字段 添加或取消选定字段单击“下一步”按钮(3)单击“下一步”按钮,在打开的对话框中为查询指定标题。7单击“完成”按钮(4)单击“完成”按钮。84.2.24.2.2 在在查询设计视图中创建查询查询设计视图中创建查询 查询设计视图可以独立的创建查询,也可以对向导创建的查询进行修改。例例4-24-2 使用查询设计视图创建查询,显示学生的“学号”、“姓名”、“班级名称”、“学院名称”,查询名为“学生班级学院信息”。操作步骤:9(1)打开
4、“学生管理系统”数据库,单击功能区“创建”选项卡下“查询”组中的“查询设计”按钮。打开“显示表”对话框。10(2)确定所需的数据表,在弹出的“显示表”对话框中选择添加“学院信息”表、“班级信息”表、“学生信息”表。(3)确定查询所要包含的字段,在设计网格中的字段行依次选择。11(4)保存查询对象,在弹出的“另存为”对话框中,为查询命名为“学生班级学院信息”。在“学生管理系统”数据库的左边导航窗格下就会显示新创建的查询。12(5)运行查询,即单击功能区“设计”选项卡下“结果”组中的运行 按钮。13学院信息学生信息班级信息4.2.34.2.3 设置设置查询条件查询条件 查询条件是指在创建查询时,通
5、过对字段添加限制条件,使查询结果中只包含满足条件的数据。1.1.简单简单条件条件表达式表达式 例例4-34-3 查询所有学生的“高等数学”课程成绩,查询结果先按“班级编号”升序和“成绩”字段降序排列。查询名称命名为“高等数学成绩”。14 操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表、“学生成绩”表、“课程信息”表。(2)确定查询所需要的字段。在“课程名”字段下方的条件网格中输入“高等数学”。15(3)设计查询结果排序的依据,选择“班级编号”下方的排序网格,在下拉列表中选择“升序”,同样选择“成绩”下方的排序网格,在下拉列表中选择“降序”,选择“成绩”下方的排序网格,在下拉列表中
6、选择“降序”。16查询条件排序(4)单击“保存”按钮,弹出“另存为”对话框,查询命名为“高等数学成绩”。(5)运行查询。172 2.多多字段多条件表达式字段多条件表达式设计网格中的“条件”和“或”两行都属于条件网格。输入在同一行的条件表示“并且(And)”逻辑关系;输入在不同行的条件表示“或(Or)”逻辑关系。例如,查询“高等数学”和“大学英语”课程,该条件网格的写法有两种。18 例4-4 在“学生信息”表中查询国际贸易1班党员和国际贸易2班团员的学生名单。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表、“班级信息”表。(2)设置查询条件设计网格。19查询条件 (3)保存并运行。
7、20按条件查询的结果3 3.特殊特殊运算符运算符运算符运算符功能说明功能说明举例举例NOT BETWEENAND指定字段值在(或不在)某个区间内成绩 Between 70 And 90NOT LIKE指定字段值与某个字符串模式匹配(或不匹配)姓名 Like王*NOT IN指定字段值包含(或不包含)在某几个值中课程号 In(101,103)NOT IS NULL指定字段值是(否)空值入学成绩 Is Null21 查询条件设计中的可以使用一些特殊的运算符 例例4-6 4-6 查找显示所有考试成绩在70到85分之间学生的“学号”、“姓名”、“课程名”和“成绩”信息。操作步骤:(1)使用查询设计视图创
8、建查询,添加“学生信息”表、“课程信息”表和“学生成绩”表。(2)设置查询条件网格。(3)运行并保存。22方法一方法二 例例4-74-7 查询学生的课程号为“1001”或“1003”课程的成绩,要求显示“学号”、“姓名”、“课程名”和“成绩”。操作步骤:使用查询设计视图创建查询,添加“学生信息”表、“课程信息”表和“学生成绩”表。设置查询条件网格,保存并运行。23方法一方法二 例4-8查询无需先修课的“课程名称”和“学分”信息。操作步骤:(1)使用查询设计视图创建查询,添加“课程信息”表。(2)设置查询条件网格,保存并运行。24通配符通配符功能说明功能说明举例举例*表示0个或多个字符“王*”可
9、以与王浩、王林、王沂东匹配?表示一个非空字符“王?”可以与王林、王浩匹配,但不与王沂东匹配#表示一个数字“图4-#”可以与图4-2、图4-5等匹配方括号内任何单个字符“王张伟”可以与王伟、张伟匹配,但不与黄伟匹配!排除方括号内任何单个字符“!张王伟”可以和黄伟匹配,但不与张伟和王伟匹配-某个范围内的任何单个字符“02-4”可以与02、03、04匹配,但不与01、06匹配25 有时候查询数据需进行模糊查找,这时使用通配符就是比较好的方法。例4-9 查找显示所有“王”姓学生的“学号”、“姓名”、“课程名”和“成绩”。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表、“学生成绩”表和“课
10、程信息”表(2)设置查询条件网格,保存并运行。26方法一方法二4.3 4.3 查询中的计算查询中的计算 查询可以供用户同时浏览多个表的数据,还可以执行计算。例如用户可能不关心某个学生的具体考试情况,更关心课程的及格率,或更关心学生的平均分数等汇总结果。为了获得这些汇总数据,要在查询中执行计算。274.3.14.3.1 预定预定义计算义计算 预定义计算即所谓的“查询汇总”,用于对查询中的分组记录或全部记录进行“汇总”,如求和、平均、计数、最大值、最小值、标准偏差或方差等。Access通过聚合函数来实现。例例4-114-11建立查询,统计“学生信息”表中男女生人数。操作步骤:(1)使用查询设计视图
11、创建查询,添加“学生信息”表。(2)添加“学号”字段和“性别”字段。28 (3)单击功能区“设计”选项卡下“显示/隐藏”组中的“汇总”按钮,Access在设计网格中显示“总计”行,并将“学号”和“性别”进行了分组。(4)单击“总计”行“学号”右边下三角按钮,选取聚合函数:“计数”。29(5)保存并运行查询。30按性别分组统计人数 查询汇总的要点有两个:1.1.确定分组项确定分组项 要确定按照什么依据对已选的数据进行分组(分组以行为单位)。分组的依据可以是某个字段,例如按学号分组,那么同一个学号的则被分到一组;分组依据也可以是某个表达式,例如Year(出生日期),那么同一年的则被分到一组。如果在
12、查询汇总的时候没有设分组依据,那么所有已选的记录被认为是一个大组2 2.确定统计汇总项确定统计汇总项 分组的最终目的是为了汇总,要指定对组内的哪些列,做什么汇总操作。常用的汇总操作由Access2010内置函数中的聚合函数实现。31总计项总计项意义意义说明说明Group By分组用以指定分组字段Sum合计为每一组中指定的字段进行求和运算Avg平均值为每一组中指定的字段进行求平均值运算Min最小值为每一组中指定的字段进行求最小值运算Max最大值为每一组中指定的字段进行求最大值运算Count计数根据指定的字段计算每一组中记录的个数Stdev标准差根据指定的字段计算每一组的统计标准差Var方差根据指
13、定的字段计算每一组的统计方差First第一条记录根据指定的字段获取每一组中首条记录该字段的值Last最后一条记录根据指定的字段获取每一组中最后一条记录该字段的值Expression表达式用以在设计网格的“字段”行中建立计算表达式Where条件限定表中的哪些记录可以参加分组汇总32Access2010内置函数中的聚合函数4.3.24.3.2 自定义自定义计算(添加新字段)计算(添加新字段)如果想对于一个或多个字段的数据进行数值、日期和文本计算,需要在“设计网格”中创建计算字段,自定义计算就是在设计网格中创建新的字段,计算字段是在查询中重新定义的字段。创建计算字段的方法:将表达式输入到查询设计网格
14、中的“字段”单元格中输入规则是:如果表达式包含字段名,则必须用中括号将字段名括起来其中计算字段名和表达式之间的分隔符是半角的“:”。33例例4-15查询所有学生的“学号”、“姓名”和“年龄”。分析:年龄字段在“学生信息”表是不存在的,年龄可以通过对“出生日期”字段计算得出 计算年龄的表达式是:Year(Date()-Year(出生日期)。新字段缺省名为“表达式1”,为了给新字段起一个合适的名字,在此直接将“表达式1”改为“年龄”即可。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表。(2)添加“学号”、“姓名”字段。34(3)在一个空白的字段网格中输入表达式:Year(Date()
15、-Year(出生日期)。(4)在表达式前面指定新的字段名“年龄”,并和表达式之间用英文的冒号间隔。35计算年龄的表达式(5)保存并运行。36计算年龄的表达式结果4.4 4.4 交叉表查询交叉表查询 交叉表是一种不同于数据库二维表结构的数据表,他有行、列两个系列的字段名,行、列字段的交叉项中存储数据。课程表是一种典型的交叉表,按行检索第几节课,按列检索星期几,交叉项显示课程名称和上课地点。交叉表实际上也是一种查询,只不过用交叉表的形式组织查询结果。371.1.利用利用向导建立交叉表查询向导建立交叉表查询 例例4-17 4-17 使用“交叉表查询向导”创建查询,按性别统计不同政治面貌的人数。操作步
16、骤:(1)打开“学生管理系统”数据库,单击功能区“创建”选项卡下“查询”组中的“查询向导”按钮。选择“交叉表查询向导”。38(2)单击“确定”按钮,在弹出“交叉表查询向导”对话框中选择“表”单选项,选择“学生信息”作为数据源。39(3)选定“政治面貌”字段,此字段作为行标题,单击“下一步”按钮。40 (4)选定“性别”字段作为列标题。单击“下一步”按钮。(5)对“学号”个数计数,作为行列交叉点的数据,单击“下一步”按钮。41(6)指定查询名称“男女生政治面貌”。42(7)单击“完成”按钮。43行坐标列坐标交叉点计数2 2使用使用查询设计视图建立交叉表查询查询设计视图建立交叉表查询 使用查询设计
17、视图的方式创建交叉表查询和使用交叉表向导方式创建交叉表查询的最大区别:设计视图方式可以选择多个表、多个字段作为交叉表中的数据,创建方式简单灵活。例例4-184-18利用查询设计视图方式建立交叉表查询,查询学生各科成绩。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表、“学生成绩”表和“课程信息”表。(2)在“查询类型”组中单击“交叉表”按钮。(3)在条件网格中添加“学号”、“姓名”、“课程名”和“成绩”字段。44(4)在设计网格中修改“成绩”字段的总计项为“First”(因为成绩唯一,选择“平均值”,“最后一个”等都可以)。(5)在交叉表网格将“姓名”字段和“学号”字段设置为“行标
18、题”,将“课程名”设置成“列标题”,将“成绩”设为“值”。45(6)保存并运行。464.5 参数查询参数查询 参数查询是Access查询中比较复杂的高级查询,该查询是在查询运行时设置查询参数,实现对数据检索的查询。即在查询运行时弹出对话框,要求用户输入记录的限制条件,然后系统根据用户输入条件,实现动态查询。提示信息用方括号“”括起来。如果不需要指定范围,可直接在字段下输入表达式。如在“姓名”字段下的“条件”单元格中,输入“请输入要查找的学生姓名”。47例例4-19 按照用户输入的年份,查找该年份出生的学生。显示包括“学号”、“姓名”、“性别”和“出生日期”。操作步骤:(1)使用查询设计视图创建
19、查询,添加“学生信息”表。(2)在设计网格中添加选择“学号”、“姓名”、“性别”和“出生日期”字段。(3)在设计网格中插入一个自定义字段:Year(出生日期)。(4)在自定义字段的条件网格中输入提示信息:“请输入出生年份”,中括号不能省略,并取消该列的显示。48(5)保存。运行时弹出对话框,输入出生年份。49 例例4-204-20 设计参数查询,检索“入学分数”在用户输入的范围内的所有学生的“学号”、“姓名”和“入学分数”。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表。(2)在设计网格中添加“学号”、“姓名”、“入学分数”字段。(3)在要做参数的“入学分数”字段“条件”单元格中
20、,输入:Between 输入分数下限 And 输入分数上限。50(4)运行查询。在出现的第一个对话框中输入“入学分数”的下限值,单击“确定”按钮,在出现的第二个对话框中输入“入学分数”的上限值,单击“确定”按钮。51下限值上限值 运行结果:52580到605之间的记录4.6 4.6 操作查询操作查询 在数据库的日常维护和使用过程中,常常会对大量的数据进行修改。Access的操作查询可以用一个查询实现成批数据的插入、更新和删除,还可以将查询的结果生成一个基本表,并写入数据库磁盘。534.6.14.6.1 生成生成表查询表查询 生成表查询是利用一张或多张表中的全部或部分数据生成新表。例例4-214
21、-21 将“C程序设计”课程不及格学生的“学号”、“姓名”、“课程名”和“成绩”信息生成新表,新表名为“程序设计不及格名单”。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”、“学生成绩”和“课程信息”表。(2)在设计网格中添加“学号”、“姓名”、“课程名”和“成绩”字段。54(3)输入查询条件,限制新表所包含的内容。55设置生成新表的条件设置生成新表的字段(4)单击功能区“查询工具/设计”选项卡下“查询类型”组中“生成表”按钮,运行查询,在“生成表”对话框中输入目标表的名称。56(5)单击“确定”按钮,弹出消息框。57(6)单击“是”按钮,在数据库导航窗口的“表”对象中,将增加一张
22、新表“程序设计不及格名单”。584.6.2 4.6.2 追加追加查询查询 追加查询是将一个或多个表中的一组记录添加到另一个已经存在的表的末尾。追加查询应满足几点要求:(1)追加查询的数据源表和插入数据的目标表不能是同一个表。(2)一旦追加不可撤销。(3)新数据和目标表字段个数一样,且字段类型、字段大小一一对应。(4)新数据不能违背目标表的约束。59 例例4-22 将“VB程序设计”成绩不及格的学生信息追加到“程序设计不及格名单”表中。操作步骤:(1)使用查询设计视图创建查询,添加“学生信息”表、“学生成绩”表和“课程信息”表。(2)在设计网格中添加“学号”、“姓名”、“课程名”和“成绩”字段。
23、60(3)在“查询工具/设计”选项卡的“查询类型”组上,单击“追加”按钮,显示“追加”对话框,在“表名称”框中,输入要向其追加记录的表的名称。61 如果表位于当前打开的数据库中,则单击“当前数据库”。如果表不在当前打开的数据库中,则单击“另一数据库”并输入存储该表的数据库的路径,或单击“浏览”按钮定位到该数据库,再单击“确定”按钮。(4)单击“确定”按钮,在设计网格中增加“追加到”行。输入查询条件。62(5)运行查询,弹出对话框,单击“是”按钮追加记录,单击“否”按钮取消追加。634.6.34.6.3 更新更新查询查询 更新查询是对一个或多个表中筛选出来的数据进行更改。如果要对数据表中的某些数
24、据进行有规律地成批的更新替换操作,就可以使用更新查询来实现。例例4-234-23 在“学生成绩”表中,将“C程序设计”课程的成绩小于60分的记录成绩上调5分。操作步骤:(1)使用查询设计视图创建查询,添加“学生成绩”表和“课程信息”表。(2)在设计网格中添加“课程名”和“成绩”字段。64(3)在“条件”网格中输入条件。(4)单击“查询工具/设计”选项卡下“查询类型”组中“更新”按钮,并在“成绩”的“更新到”设计网格中输入表达式:“成绩+5”。(5)若要查看将要更新的记录列表,单击“查询工具/设计”选项卡下“结果”组中的“视图”按钮,此列表并不显示新值。65(6)运行查询,弹出消息框。只有运行查
展开阅读全文