《Access数据库基础 第4章查询.pptx》由会员分享,可在线阅读,更多相关《Access数据库基础 第4章查询.pptx(104页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章查询,Access数据库基础,查询是Access数据库的对象之一,使用查询对象可以将查询命令预先保存,在需要时只要运行查询对象即可自动执行查询中规定的查询命令,从而大大方便用户进行查询操作。表是查询的数据源,查询也可以作为查询的数据源,表和查询也是窗体、报表和数据访问页的数据源。,本章学习目标通过本章内容的学习,学生应掌握各类查询的创建方法和使用技巧。,4.1查询的概述,在Access数据库中,表是存储数据的最基本的数据库对象,而查询则是对表中的数据进行检索、统计、分析、查看和更改的又一个非常重要的数据库对象。一个查询对象实际上就是一个查询命令,其本质也是一个SQL语句。运行一个查询对象
2、实质上就是执行该查询中规定的SQL命令。简单地说,表是将数据(根据规范化的要求)进行分割,而查询则是从不同的表中抽取数据并组合成一个动态数据表。查询可以从多个表中查找到满足条件的记录组成一个动态数据表,并以数据表视图的方式显示。查询结果仅仅是一个临时的动态数据表,当关闭查询的数据表视图时,保存的是查询的结构,并不保存该查询结果的动态数据表。建立查询之前,一定要先建立表与表之间的关系。,4.1查询的概述,4.1.1查询的类型在Access中,查询可以按照不同的方式查看、分析数据以及对数据进行其他操作,这涉及查询的类型。查询的类型有选择查询、参数查询、交叉表查询、操作查询和SQL查询。1.选择查询
3、选择查询是最常见的查询类型,它从一个或多个表中检索数据,并且在“数据表视图”中显示结果。用户也可以使用选择查询来对记录进行分组,并且对记录作合计、计数、平均值等计算。查询结果仅仅是一个临时的动态数据表。,4.1查询的概述,2.参数查询参数查询在运行时先显示“输入参数值”对话框,提示用户在该对话框中输入查询条件的值,然后根据用户输入条件去执行查询命令,检索出满足条件的记录。3.交叉表查询使用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。交叉表查询可以对记录作合计、平均值、计数等计算。这种数据可分为两组信息:一类在数据表左侧排列,另一类在数据表的顶端。4.操作查询操作查询只需
4、进行一次操作就可对许多记录进行更改和移动。操作查询有生成表查询、追加查询、更新查询和删除查询这四种查询方式。,4.1查询的概述,5.SQL查询SQL查询是用户使用SQL语句创建的查询。可以用结构化查询语言(SQL)来查询、更新和管理Access这样的关系数据库。在查询的“设计视图”中创建查询时,Access将在后台构造等效的SQL语句,用户可以在“SQL视图”中查看和编辑SQL语句。但是,在对SQL视图中的查询作更改之后,查询可能无法以之前在“设计视图”中所显示的方式进行显示。有一些SQL查询,称为“SQL特定查询”,无法在“设计视图”的设计网格中进行创建,如传递查询、数据定义查询和联合查询,
5、都必须直接在“SQL视图”中创建SQL语句。,4.1查询的概述,4.1.2建立查询的方法在“创建”选项卡上的“查询”组中有“查询向导”和“查询设计”两个按钮,如图4-1所示,可用于创建查询。单击“查询向导”按钮,则弹出“新建查询”对话框,如图4-2所示。,4.1查询的概述,4.1.3查询视图在Access中,常用的查询视图有数据表视图、设计视图和SQL视图3种。此外,还有数据透视表视图和数据透视图视图。本小节主要介绍数据表视图、设计视图和SQL视图的主要功能。1.数据表视图数据表视图是以行和列格式显示查询中符合条件的查询结果的窗口。在该视图中,可以进行编辑数据、添加和删除数据、查找数据等操作,
6、也可以对查询进行排序、筛选以及检查记录等,还可以改变视图的显示风格(包括调整行高、列宽和单元格的显示风格等)。查询的数据表视图如图4-3所示。,4.1查询的概述,2.设计视图设计视图是用来设计查询的窗口,它是查询设计器的图形化表示,利用该视图可以创建多种结构复杂、功能完善的查询,如图4-4所示。,4.1查询的概述,4.1查询的概述,3.SQL视图SQL视图用于查看、修改已建立的查询所对应的SQL语句,或者直接创建SQL语句,如图4-5所示。,4.2创建选择查询,选择查询的功能是从一个或多个表中检索数据,并且在“数据表视图”中显示结果。查询结果仅仅是一个临时的动态数据表。4.2.1使用向导创建查
7、询Access提供了向导功能以帮助用户方便快速地创建简单的查询对象。使用向导创建查询对象的步骤:单击“创建”选项卡上的“查询”组中的“查询向导”按钮,弹出“新建查询”对话框。1.单表选择查询【例4-1】在数据库文件“教学管理.accdb”中,以“教师”表为数据源,查询教师的姓名和职称信息,所建查询命名为“教师情况”。,4.2创建选择查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询向导”,弹出“新建查询”对话框,如图4-6所示。(2)在“新建查询”对话框中选择“简单查询向导”,单击“确定”按钮,在弹出的对话框“表/查询”下拉列表框
8、中选择数据源为“表:教师”,再分别双击“可用字段”列表中的“姓名”和“职称”字段,将它们添加到“选定的字段”列表框中,如图4-7所示。然后单击“下一步”按钮,为查询指定标题为“教师情况”,最后单击“完成”按钮。,4.2创建选择查询,4.2创建选择查询,2.多表选择查询【例4-2】在数据库文件“教学管理.accdb”中,查询学生所选课程的成绩,并显示“学生编号”“姓名”“课程名称”和“成绩”字段,所建查询命名为“学生选课成绩”。【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询向导”,弹出“新建查询”对话框。,4.2创建选择查询,(2)在
9、“新建查询”对话框中选择“简单查询向导”,单击“确定”按钮,在弹出的对话框“表/查询”列表框中,先选择查询的数据源为“学生”表,并将“学生编号”“姓名”字段添加到“选定的字段”列表框中,再分别选择数据源为“课程”表和“选课成绩”表,并将“课程”表中的“课程名称”字段和“选课成绩”表中的“成绩”字段添加到“选定的字段”列表框中。选择结果如图4-8所示。,4.2创建选择查询,4.2创建选择查询,(3)单击“下一步”按钮,选择“明细”选项。(4)单击“下一步”按钮,为查询指定标题“学生选课成绩”,选择“打开查询查看信息”选项。(5)单击“完成”按钮,弹出查询结果,如图4-9所示。,4.2创建选择查询
10、,【注意】由于查询涉及“学生”“课程”和“选课成绩”3个表,在创建查询前必需先建立好3个表之间的关系。,4.2创建选择查询,4.2.2在设计视图中创建查询打开查询设计器的“设计视图”的方式有建立新查询和打开已有的查询设计器两种。使用“设计视图”,可以建立查询、修改已有的查询,还可以修改作为窗体、报表、数据访问页记录源的SQL语句。查询设计器的设计视图由上、下两部分组成(如图4-4所示)。上半部分是显示查询的数据表或查询的显示区,用于显示当前查询所使用的数据源:基本表和查询。当有多个表时,数据源表之间的连线表示数据表之间的关系。下半部分是定义查询的“设计网格”,用于设置查询选项。,4.2创建选择
11、查询,字段:设置查询所涉及的字段。表:字段所属的表。排序:查询的排序准则(如升序或降序)。显示:当复选框选中时,字段将在查询结果中显出;否则,在查询结果中不显出。条件:设置检索记录的条件(也称为准则)。或:设置检索记录的条件(也称为准则)。当打开查询设计器,系统会自动弹出“查询设计工具栏”,如图4-10所示。,4.2创建选择查询,查询设计工具栏中主要工具按钮的作用:(1)视图:在“数据表视图”“数据透视表视图”“数据透视图视图”“SQL视图”和“设计视图”之间切换。(2)查询类型:选择查询类型。(3)运行:执行查询,以数据表的形式显示结果。(4)显示表:列出当前库的所有表和查询,以便选择查询所
12、需要的数据源表和查询。,4.2创建选择查询,(5)总计:在查询设计器的设计网格区增加“总计”行,可用于各种统计计算(求和、平均值等)。(6)上限值:对查询结果指定要显示的范围。(7)属性:显示光标处的对象属性,可以对字段属性进行修改,这种修改仅改变字段在查询中的属性。(8)生成器:进入“表达式生成器”对话框,用于生成查询条件表达式。1.创建不带条件的选择查询【例4-3】在数据库文件“教学管理.accdb”中,查询学生所选课程的成绩,并显示“学生编号”“姓名”“课程名称”和“成绩”字段,所建查询命名为“选课成绩查询”。,4.2创建选择查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”
13、数据库,单击“创建”选项卡,在“查询”组中单击“查询设计”,出现“表格工具/设计”选项卡,如图4-10所示,出现查询设计工具栏。同时打开“显示表”对话框,如图4-11所示。,4.2创建选择查询,4.2创建选择查询,(2)在“显示表”对话框中选择“学生”表,单击“添加”按钮,添加学生表,依此类推,再添加“选课成绩”和“课程”表,如图4-12所示。,(3)双击学生表中“学生编号”“姓名”、课程表中“课程名称”和选课成绩表中“成绩”字段(也可以依次在字段下拉列表中选择相应数据表中的相关字段),将它们依次添加到“字段”行的第14列上。,4.2创建选择查询,(4)单击快速工具栏中的“保存”按钮,在“查询
14、名称”文本框中输入“选课成绩查询”,单击“确定”按钮。(5)单击“查询工具/设计”“结果”组中的“运行”按钮,查看查询结果。2.创建带条件的选择查询【例4-4】在数据库文件“教学管理.accdb”中,查找2017年8月21日入校的男生信息,要求显示“学生编号”“姓名”“性别”“团员否”字段内容,所建查询命名为“2017年8月21日入校的男生信息”。,4.2创建选择查询,【解析】操作步骤如下:(1)在设计视图中创建查询,添加“学生”表到查询设计视图中。(2)依次双击“学生编号”“姓名”“性别”“团员否”“入校时间”字段,将它们添加到“字段”行的第15列中。(3)单击“入校日期”字段“显示”行上的
15、复选框,使其空白,查询结果中不显示入校日期字段值。(4)在“性别”字段列的“条件”行中输入条件“男”,在“入校时间”字段列的“条件”行中输入条件“#2017-8-21#”,设置结果如图4-13所示。,4.2创建选择查询,4.2创建选择查询,(5)单击快速工具栏中的“保存”按钮,在“查询名称”文本框中输入“2017年8月21日入校的男生信息”,单击“确定”按钮。(6)单击“查询工具/设计”“结果”组中的“运行”按钮,查看查询结果。,4.2创建选择查询,小知识,运行查询的几种基本方法:(1)打开某查询的“设计视图”,单击“查询工具”下“设计”选项卡的“结果”组中的“运行”按钮。(2)打开某查询的“
16、设计视图”,单击“查询工具”下“设计”选项卡的“结果”组中的“视图”(默认是“数据表视图”)按钮。(3)打开某查询的“设计视图”,右击该“设计视图”中的空白处,弹出快捷菜单,单击该快捷菜单中的“数据表视图”。(4)双击“导航窗格”上的查询对象列表中要运行的查询名称。,4.2创建选择查询,3.设置查询的组合条件查询条件是在创建查询时所设置的一些限制条件,目的是使查询结果只包含满足查询条件的数据记录。设置查询条件的方法:在查询“设计视图”的“设计网格”区的条件网格输入查询条件。条件网格包含“条件”行、“或”行及其以下的空白单元格。Access自动用And运算符去组合同一条件行中不同字段(或单元格)
17、的条件表达式,用Or运算符去组合不同行的条件表达式,即同行表示“与”,不同行表示“或”。表达式不仅用于查询和筛选条件(准则),还用于有效性规则以及其他计算。表达式由标识符、常量、运算符和函数按规则组合为一个整体,以产生某种结果。,4.2创建选择查询,(1)标识符标识符包括所标识的元素名称及该元素所属的元素的名称,如字段的名称和该字段所属的表的名称。其定界符为“”。例如,“学生”表中的“学号”字段,其表达形式如下:学生!学号(2)常量常量是不会改变的已知值,可以在表达式中使用。常量主要有以下几种类型:数值型:如12.34,-5.9。文本型:直接输入文本,或以双引号“”作为定界符,如语文、“语文”
18、。,4.2创建选择查询,日期型:直接输入,或用“#”作为定界,如2012-7-9、#2012-7-9#。是/否型:Yes、No、True、False。(3)运算符Access表达式使用的运算符有算术运算符、关系运算符、逻辑运算符和字符运算符。算术运算符:+、-、*、/、(整除)、Mod(取余)、(乘方)以及()。关系运算符:、=、(不等于)。逻辑运算符:And、Or、Not(优先级由高到低分别为Not、And、Or)。,4.2创建选择查询,字符运算符+:字符串连接符,用于连接字符串,如教师姓名+“你好”。&:强制将两个操作数作为字符串进行连接的连接符。例如,姓名&年龄,其中姓名是文本类型变量,
19、而年龄则是数字型变量。LIKE、NotLIKE:执行模式匹配,通常与通配符搭配使用。Access通配符*:代表0或多个字符。?:代表1个字符。#:代表单个数字字符(09)。字符表:包含内任何一个字符。例如,abcd代表abd和acd。,4.2创建选择查询,!字符表:不包含内的字符。-:以升序指定一个范围,表示范围内任一字符。特殊运算符Between:介于两者之间。In:包含于某一系列值。IsNull:测试是否为空值,即不包含任何数据。IsNotNull:测试是否为非空值,即包含任何数据。,4.2创建选择查询,(4)函数函数(Function)表示每个输入值对应唯一输出值的一种对应关系。Acce
20、ss提供了多种不同用途的内置函数,它们是一些预定义的公式,通过参数进行计算,返回结果。常用函数详见表2-6至表2-8。逻辑判断函数:IIf(,),当为真时,返回的值;否则,返回的值。,4.2创建选择查询,4.2.3创建计算查询Access查询不仅具有查找功能,而且具有计算功能,即从基本表或视图中临时计算出一些希望的结果。1.创建不带条件的统计查询【例4-5】在数据库文件“教学管理.accdb”中,统计学生人数,所建查询命名为“统计学生人数”。【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在设计视图中创建查询,添加“学生”表到查询设计视图中。,4.2创建选择查询,(2)双击“学
21、生编号”字段,添加到“字段”行的第1列中。(3)单击“查询工具/设计”中“显示/隐藏”组上的“汇总”按钮,插入一个“总计”行,单击“学生编号”字段的“总计”行右侧的向下箭头,选择“计数”函数,如图4-14所示。(4)单击“保存”按钮,在“查询名称”文本框中输入“统计学生人数”。(5)运行查询,查看结果。,4.2创建选择查询,4.2创建选择查询,2.创建带条件的统计查询【例4-6】在数据库文件“教学管理.accdb”中,统计2017年入学的男生人数,所建查询命名为“统计2017年入学的男生人数”。【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在设计视图中创建查询,添加“学生”表
22、到查询设计视图中。(2)双击“学生编号”“性别”和“入校时间”字段,将它们添加到“字段”行的第13列中。(3)单击“性别”“入校时间”字段“显示”行上的复选框,使其空白。,4.2创建选择查询,(4)单击“查询工具/设计”中“显示/隐藏”组上的“汇总”按钮,插入一个“总计”行,单击“学生编号”字段的“总计”行右侧的向下箭头,选择“计数”函数,“性别”和“入校时间”字段的“总计”行选择“Where”选项。(5)在“性别”字段列的“条件”行中输入条件“男”;在“入校时间”字段列的“条件”行中输入条件“Year(入校时间)=2017”,如图4-15所示。(6)单击保存按钮,在“查询名称”文本框中输入“
23、统计2017年入学的男生人数”。(7)运行查询,查看结果。,4.2创建选择查询,4.2创建选择查询,3.创建分组统计查询【例4-7】在数据库文件“教学管理.accdb”中,统计男女学生年龄的最大值、最小值和平均值,所建查询命名为“统计男女生年龄情况”。【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在设计视图中创建查询,添加“学生”表到查询设计视图中。(2)字段行第1列选“性别”,第2列至第4列选“年龄”。(3)单击“查询工具/设计”中“显示/隐藏”组上的“汇总”按钮,插入一个“总计”行,设置“性别”字段的“总计”行为“GroupBy”,“年龄”字段的“总计”行分别设置成“最大
24、值”“最小值”和“平均值”,查询的设计窗口如图4-16所示。,4.2创建选择查询,4.2创建选择查询,(4)单击保存按钮,在“查询名称”文本框中输入“统计男女生年龄情况”。(5)运行查询,查看结果。4.创建含有IIf()函数的计算字段【例4-8】在数据库文件“教学管理.accdb”中,修改查询“2017年8月21日入校的男生信息”,团员情况用“是”和“否”来显示,使显示结果更清晰,所建查询命名为“2017年8月21日入校的男生信息2”。,4.2创建选择查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在导航格的“查询”对象下,选中“2008年9月1日入校的男生信息”查询,右
25、键单击选择“设计视图”菜单,打开查询设计视图。(2)将字段“团员否”修改为“团员情况:IIf(团员否,是,否)”,选中该列“显示”行上的复选框,设计结果如图4-17所示。(3)单击“文件”菜单,选择“对象另存为”命令,输入查询名称“2017年8月21日入校的男生信息2”,保存查询,运行并查看结果。,4.2创建选择查询,4.2创建选择查询,小知识,修改后的数据库对象需要以不同的名称保存,则须执行单击“文件”菜单,选择“对象另存为”命令来完成。,5.新增含有Date()函数的计算字段【例4-9】在数据库文件“教学管理.accdb”中,显示教师的姓名、工作时间和工龄,所建查询命名为“教师工龄”。,4
26、.2创建选择查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在设计视图中创建查询,添加“教师”表到查询设计视图中。(2)在“字段”行第1列中选择“姓名”字段,第2列选择“工作时间”字段,第3列输入“工龄:Year(Date()-Year(工作时间)”,并选中该列“显示”行上的复选框,如图4-18所示。(3)单击“保存”按钮,将查询命名为“教师工龄”,运行并查看结果。,4.2创建选择查询,4.3创建参数查询,参数查询是在查询运行的过程中,显示“输入参数值”的对话框,提示用户输入信息,用户可在该对话框中输入不同的条件参数值,即可检索到满足条件的记录内容。参数查询的条件格式为:
27、提示信息,即在相应的字段的“条件”行输入提示文本并用“”括起来。4.3.1单参数查询【例4-10】在数据库文件“教学管理.accdb”中,以已建立的“选课成绩”查询为数据源建立查询,按照学生“姓名”查看某学生的成绩,并显示学生“学生编号”“姓名”“课程名称”和“成绩”等字段,所建查询命名为“单参数查询-按姓名查询”。,4.3创建参数查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在导航窗格的“查询”对象中,选中“选课成绩查询”,然后单击鼠标右键,选择“设计视图”菜单,打开查询设计视图。(2)在“姓名”字段的条件行中输入“请输入学生姓名”,设计结果如图4-19所示。(3)单
28、击“查询/设计”中“结果”组的“运行”按钮,在“请输入学生姓名”文本框中输入要查询的学生的姓名,如“李四新”,单击“确定”按钮,显示查询结果。,4.3创建参数查询,(4)单击“文件”菜单,选择“对象另存为”命令,将查询另存为“单参数查询-按姓名查询”。,4.3创建参数查询,4.3.2多参数查询【例4-11】在数据库文件“教学管理.accdb”中,建立一个多参数查询,用于按“升序”显示指定范围内的学生成绩,要求显示“姓名”和“成绩”字段的值,所建查询命名为“多参数查询-按成绩范围查询”。,小知识,方括号“”在查询中的意义:方括号是标识符的定界符,表示其中的字符为字段名。而【例4-10】中的方括号
29、中的字符代表的是参数。Access在查询中遇到方括号时,首先在各数据表中寻找方括号中的内容是否为字段名称;若不是,则认为是参数,显示对话框,要求输入参数值。,4.3创建参数查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,在设计视图中创建查询,在“显示表”对话框中,选择“查询”选项卡,并将“选课成绩查询”添加到查询设计视图中,如图4-20所示。,4.3创建参数查询,4.3创建参数查询,(2)双击字段列表区中的“姓名”“成绩”字段,将它们添加到设计网格中“字段”行的第1列和第2列中。(3)在“成绩”字段的“条件”行中输入“Between请输入成绩下限:And请输入成绩上限:”
30、,在“成绩”字段的“排序”行中设置“升序”,如图4-21所示。,4.3创建参数查询,4.4交叉表查询,交叉表是一种常用的分类汇总表格。使用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。交叉表查询可以按分类对记录数据进行求和、平均值、计数等计算。这种数据可分为两组信息:一类在数据表左侧排列,另一类在数据表的顶端。4.4.1利用“交叉表查询向导”创建查询【例4-12】在数据库文件“教学管理.accdb”中,查询每个学生的选课情况和平均成绩,行标题为“学生编号”,列标题为“课程编号”,计算字段为“成绩”,交叉表查询不做各行小计,所建查询命名为“选课成绩交叉查询”。,【解析】操作
31、步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询向导”,弹出“新建查询”对话框,选择“交叉表查询向导”,单击“确定”按钮,如图4-22所示。(2)选择“视图”选项中“表”选项,选择“选课成绩”表,如图4-23所示,单击“下一步”按钮。,4.4交叉表查询,4.4交叉表查询,(3)将“可用字段”列表中的“学生编号”添加到其右侧的“选定字段”列表中,即将“学生编号”作为行标题,单击“下一步”按钮,如图4-24所示。(4)选择“课程编号”作为列标题,然后单击“下一步”按钮,如图4-25所示。,4.4交叉表查询,(5)在“字段”列表中,选择“成绩”作为统计
32、字段,在“函数”列表中选“Avg”选项,取消“是,包括各行小计”的选择,单击“下一步”按钮,如图4-26所示。(6)在“请指定查询的名称:”文本框中输入“选课成绩交叉查询”,选择“查看查询”选项,最后单击“完成”按钮,如图4-27所示。,4.4交叉表查询,4.4交叉表查询,4.4.2使用设计视图创建交叉表查询【例4-13】在数据库文件“教学管理.accdb”中,使用设计视图创建交叉表查询,用于统计各门课程男女生的平均成绩,要求不作各行小计。所建查询命名为“统计各门课程男女生的平均成绩”。【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询
33、设计”,并将“课程”“选课成绩”和“学生”三个表添加到查询设计视图中,如图4-28所示。,4.4交叉表查询,4.4交叉表查询,(2)双击“课程”表中的“课程名称”字段,“学生”表中的“性别”字段,“选课成绩”表中的“成绩”字段,将它们添加到“字段”行的第13列中,如图4-29所示。,4.4交叉表查询,(3)选择“查询类型”组中“交叉表”项,如图4-30所示。,4.4交叉表查询,(4)在“课程名称”字段的“交叉表”行,选择“行标题”选项,在“性别”字段的“交叉表”行,选择“列标题”选项,在“成绩”字段的“交叉表”行,选择“值”选项,在“成绩”字段的“总计”行,选择“平均值”选项,如图4-31所示
34、。,4.4交叉表查询,(5)单击“保存”按钮,将查询命名为“统计各门课程男女生的平均成绩”,单击“确定”按钮,如图4-32所示。,4.4交叉表查询,(6)运行查询,查看结果。,选择查询、参数查询和交叉表查询都是按照用户的需求,根据一定的条件从已有的数据源中选择满足特定准则的数据形成一个动态集,将已有的数据源再组织或增加新的统计结果,这种查询方式不改变数据源中原有的数据状态。操作查询除了从数据源中选择数据外,还会改变表中的内容,并且这种更新是不可以恢复的。操作查询是仅在一个操作中就可以追加、更改或删除许多记录的查询操作的查询,包括生成表查询、追加查询、更新查询和删除查询这四种查询方式。,4.5操
35、作查询,4.5.1生成表查询生成表查询可以使查询的运行结果以表的形式存储,生成一个新表,这样就可以利用一个或多个表或已知的查询再创建表,从而使数据库中的表可以创建新表,实现数据资源的利用及重组数据集合。生成表查询可以应用在很多方面,可以创建用于导出到其他数据库的表、表的备份副本以及包含旧记录的历史表等。【例4-14】在数据库文件“教学管理.accdb”中,将成绩在90分以上学生的“学生编号”“姓名”“成绩”存放到“优秀成绩”表中,所建查询命名为“生成表查询”。,4.5操作查询,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询设计”,并
36、将“学生”表和“选课成绩”表添加到查询设计视图中,如图4-33所示。,4.5操作查询,(2)依次双击“学生”表中的“学生编号”“姓名”字段,“选课成绩”表中的“成绩”字段,将它们添加到设计网格中“字段”行中,如图4-34所示。,4.5操作查询,(3)在“成绩”字段的“条件”行中输入条件“=90”,如图4-35所示。(4)选择“查询类型”组中“生成表”命令,打开“生成表”对话框,如图4-35所示。,4.5操作查询,(5)在“表名称”文本框中输入要创建的表名称“优秀成绩”,并选中“当前数据库”选项,单击“确定”按钮。(6)保存查询,定义查询名称为“生成表查询”。(7)单击“结果”组中“运行”按钮,
37、屏幕上出现一个提示框,单击“是”按钮,开始建立“优秀成绩”表,如图4-36所示。,4.5操作查询,(8)在“导航窗格”中,选择“表”对象,可以看到生成的“优秀成绩”表,选中它,在数据表视图中查看其内容。,4.5操作查询,小知识,利用生成表查询建立新表时,如果数据库中已有同名的表,则新表将覆盖该同名的表。但需要注意的是,利用生成表查询建立新表时,新表中的字段从生成表查询的源表中继承字段名称、数据类型以及“字段大小”属性,但是不继承其他的字段属性以及表的主键,所以往往需要为生成表设置主键。,4.5操作查询,4.5.2追加查询追加查询是将一个或多个表中的一组记录添加到另一个已存在的表的末尾。要被追加
38、记录的表必须是已经存在的表。这个表可以是当前数据库中的表,也可以是另外一个数据库中的表。【例4-15】在数据库文件“教学管理.accdb”中,创建查询,将选课成绩在8089分之间的学生记录添加到已建立的“优秀成绩”表中,所建查询命名为“追加查询”。,【解析】操作步骤如下:(1)打开“教学管理.accdb”数据库,单击“创建”选项卡,在“查询”组中单击“查询设计”,并将“学生”表和“选课成绩”表添加到查询设计视图中。(2)在“查询类型”组中选择“追加查询”。(3)在“追加到”选项中的“表名称”下拉列表框中选“优秀成绩”表,并选中“当前数据库”选项,单击“确定”按钮,如图4-37所示。这时设计网格
39、中增加一个“追加到”行。,4.5操作查询,(4)依次双击“学生”表中的“学生编号”“姓名”字段,“选课成绩”表中的“成绩”字段,将它们添加到设计网格中“字段”行中,“追加到”行中自动填上“学生编号”“姓名”和“成绩”。(5)在“成绩”字段的“条件”行中,输入条件“=80And、=、!、!(大小比较)。范围运算符:BETWEEN.AND、NOTBETWEEN.AND(判断表达式值是否在指定范围之内)。列表运算符:IN、NOTIN(判断表达式值是否为列表中的指定项)。模式匹配符:LIKE、NOTLIKE(判断列值是否与指定的字符统配格式相符)。,4.6创建SQL查询,空值判断符:ISNULL、NO
40、TISNULL(判断表达式值是否为空)。逻辑运算符:AND、OR、NOT(用于多条件的逻辑连接)。(2)WHERE语句可包含模式匹配符%:可匹配任意类型长度的字符。_:匹配单个任意字符,常用于限制表达式的字符长度。:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一字符。:取值与相同,但要求所匹配对象为指定字符以外的任一字符。4.GROUPBY子句GROUPBY子句主要用于将查询结果表按某一列或多列值分组,值相等的为一组。,4.6创建SQL查询,5.HAVING子句在使用GROUPBY子句组合记录后,可以使用HAVING子句来筛选分组后满足条件的组。6.ORDERBY子句使用ORDERB
41、Y子句可以对选定的字段进行排序。排序包括升序和降序,ASC表示以升序方式排序,DESC表示以降序方式排序。默认状态下,数据以升序方式排列。,4.6创建SQL查询,小知识,SQL常用的函数主要有以下几个:Count()计算元组的个数;Sum()计算数值型数据的总和;Avg()计算数值型数据的算术平均值;Max()筛选出数据的最大值;Min()筛选出数据的最小值;Stdev()计算标准差;Stdevp()计算标准差的估计值;Var()计算方差;Varp()计算方差的估计值。,4.6创建SQL查询,【例4-18】在数据库文件“教学管理.accdb”中,对“教师”表进行查询,显示全部教师信息,所建查询命名为“SQL查询”。【解析】操作步骤如下:(1)单击“创建”选项卡,在“查询”组中单击“查询设计”,进入查询设计视图,不添加任何表,在“显示表”对话框中直接单击“关闭”按钮,进入空白的查询设计视图。(2)在“结果”组中单击“SQL视图”按钮或鼠标右键单击“查询1”选项卡,进入SQL视图,如图4-45所示。,4.6创建SQL查询,(3)在SQL视图中输入“SELECT*FROM教师”,如图4-46所示。(4)单击“保存”按钮,定义查询名称为“SQL查询”。(5)单击“运行”按钮,显示查询结果。,4.6创建SQL查询,谢谢观看THANKYOU,