《第6章数据查询.ppt》由会员分享,可在线阅读,更多相关《第6章数据查询.ppt(59页珍藏版)》请在三一办公上搜索。
1、11:38:34,1,第5章 复习与回顾,数据表记录的排序与筛选,5,表的复制、删除、改名,表属性的设置与修改,6,第6章 数据查询,11:38:34,3,第6章 数据查询,创建操作查询,5,11:38:34,4,6.1 查询的种类,1、种类 以是否更改数据表中的记录数据为标准,把查询分为选择查询和操作查询两大类。选择查询对记录数据进行检索、排序、统计、汇总,没有改变数据表中的记录数据;操作查询以一批记录的形式进行追加、更新和删除,改变数据表中的记录数据。选择查询、交叉表查询、参数查询都属于选择查询,而操作查询又可分成生成表查询、追加查询、更新查询和删除查询四种。而选择查询和操作查询都可以是带
2、有参数的。2、查询的实现方法 1)利用查询向导;2)利用查询设计视图;3)使用SQL查询语句。,11:38:34,5,6.1 查询的种类,选择查询 最常用的查询。可对查询结果进行分组、统计等操作。交叉表查询 需要分析数据时,请选用交叉表查询。参数查询 实现交互查询。操作查询 可实现对记录的删除、更新、添加操作,改变数据表中的记录数据,可把查询结果保存于一个新的数据表中。SQL查询 使用SQL语句所实现的查询。,11:38:34,6,6.2 创建选择查询,选择查询是最常见的查询类型,它对记录数据进行检索、排序、统计、汇总,并显示结果。选择查询没有改变数据表中的记录数据。,11:38:34,7,6
3、.2 创建选择查询,1、使用向导创建选择查询(1)打开数据库;(2)单击“查询”对象,双击“使用向导创建查询”;(3)选择要查询的字段;(4)如果查询字段中有数字型字段,确定选择明细查询还是汇总查询;(5)给出查询名称;(6)单击“完成”。,11:38:34,8,6.2 创建选择查询,例:在学生表和成绩表中明细地查询学生记录。(两个表要先建立关系),11:38:34,9,6.2 创建选择查询,例:在“成绩表”中汇总地查询各门课程的平均值、最大值和最小值。,11:38:34,10,6.2 创建选择查询,2、在设计视图中创建查询(1)打开数据库;(2)单击“查询”对象,双击“在设计视图中创建查询”
4、;(3)添加相关的表;(4)选择要查询的字段,必要时给出排序顺序、查询条件等;(5)运行查询,必要时可查看自动生成的SQL命令(6)给出查询名称,保存。,11:38:34,11,6.2 创建选择查询,例:在学生表中查询所有学生的信息,包括所有字段。SELECT 学生表.*FROM 学生表;,11:38:34,12,6.2 创建选择查询,例:查询所有学生的学号、姓名、课程编号、成绩。SELECT 学生表.学号,学生表.姓名,成绩表.课程编号,成绩表.成绩FROM 学生表 INNER JOIN 成绩表 ON 学生表.学号=成绩表.学号;,11:38:34,13,6.2 创建选择查询,例:查询全体学
5、生姓名、出生年月,结果按出生年月的降序排列。SELECT 学生表.姓名,学生表.出生年月FROM 学生表ORDER BY 学生表.出生年月 DESC;,11:38:34,14,6.2 创建选择查询,例:查询成绩表中成绩大于等于70小于等于80的学生。BETWEEN运算符,11:38:34,15,6.2 创建选择查询,例:查询信息系、数学系的学生学号、姓名、所在系。也可以用集合运算符in:in(“信息”,“数学”),11:38:34,16,6.2 创建选择查询,例:在“学生表”中查询姓“李”及姓“张”的记录。模糊运算符 LIKE。常用的通配符有“*”和“?”,11:38:34,17,6.2 创建
6、选择查询,例:在“学生表”中查询不是姓“李”的记录。not like 李*,11:38:34,18,6.2 创建选择查询,例:在“学生表”中查询学号第3、4位是02的记录。,11:38:34,19,6.2 创建选择查询,例:查询信息系成绩80分以上的学生记录。同行的条件之间存在“同时满足”(与)的关系。,11:38:34,20,6.2 创建选择查询,例:查询籍贯是上海或所在系是计算机的学生记录。不同行的条件存在“只要满足其一”(或)的关系,11:38:34,21,6.2 创建选择查询,例:查询1983年下半年出生的学生记录。(查询是团员或不是团员,可用true、false),11:38:34,
7、22,6.2 创建选择查询,例:查询有照片的学生记录。Not Is NullIs Null(查询出生日期、民族、所在系未知的记录用同样方法),11:38:34,23,6.2 创建选择查询,例:根据学生表统计学生人数。有关统计的题目,先用以下方法之一在查询设计视图的下半部分中增加总计项。视图总计,选择“计数”项用工具栏中的 在查询设计视图的下半部分中,右击,再选择“总计”,11:38:34,24,6.2 创建选择查询,11:38:34,25,6.2 创建选择查询,11:38:34,26,6.2 创建选择查询,例:在成绩表中查询所有记录的平均成绩。例:在成绩表中查询各门课程的平均成绩、最高分和最低
8、分。,11:38:34,27,6.2 创建选择查询,例:成绩表中每个记录的成绩都加10分,查询加分后的结果。,11:38:34,28,6.3 创建交叉表查询,目的:对数据实施统计,1、使用交叉表查询向导创建查询(1)在数据库窗口的“对象”选项组中单击“查询”,然后单击“新建”按钮。(2)选择“交叉表查询向导”,然后单击“确定”按钮(3)在接着弹出的对话框中选择数据源。(4)单击“下一步”按钮,设置行字段。(5)单击“下一步”按钮,设置列标题。(6)单击“下一步”按钮,确定为每个列和行的交叉点计算出什么数字,即设置统计项,选择统计类型。,11:38:34,29,(7)单击“下一步”按钮,定义新生
9、成查询的名字,选中“查看查询”。(8)单击“完成”按钮,交叉表建立完成,系统自动弹出其查询数据表视图。,6.3 创建交叉表查询,11:38:34,30,6.3 创建交叉表查询,指定数据源(表或查询)、行标题、列标题、统计项和统计类型。统计项一般是数字型的。统计类型包括:stdev(标准差)、var(方差)、第一项、最后一项、计数、求和、平均、最大值和最小值等。例:建立按性别统计各系人数的交叉表查询。行标题:所在系列标题:性别统计项:学号统计类型:计数,11:38:34,31,6.3 创建交叉表查询,教材例子:实现查询每个学生的各科成绩,并显示出每个学生的最低成绩(最高成绩可用最后一条记录)。行
10、标题:学号列标题:课程编号统计项:成绩统计类型:第一条记录,11:38:34,32,6.3 创建交叉表查询,2、在设计视图中创建交叉表查询(1)打开数据库;(2)单击“查询”对象,双击“在设计视图中创建查询”;(3)选择查询数据源,右击,选择查询类型为交叉表查询;(4)指定查询字段,设置行标题和列标题及交叉表中显示其值的字段;(5)若要进行统计(如总计/求和、平均值、第一个记录、最后一个记录、计数等),还必须在设计视图中加入一个统计列,该列的字段为统计字段,并选择统计类型,而其交叉表行中应填入“行标题。(6)给出查询名称,保存。,11:38:34,33,6.3 创建交叉表查询,教材例子:实现查
11、询每个学生的各科成绩。,11:38:34,34,6.3 创建交叉表查询,教材例子:实现查询每个学生的各科成绩。,11:38:34,35,6.3 创建交叉表查询,实验二第8题:打开学生2.mdb,以“学生成绩查询2”为数据源,创建一个交叉表查询,要求用“学号”和“姓名”作为行标题,用“课程名”字段作为列标题,在行列交叉处显示各门课程的总评成绩的总和。(如果是求平均分、最高分、最低分,只要后面两列中的总计改为相应的就可以了。),11:38:34,36,6.4 创建参数查询,打开数据库,在设计视图中新建查询。创建过程中,必须选择查询数据源,指定查询字段,在“条件”单元格中输入包含有参数的条件式。此时
12、,参数的出现形式为:用成对的 括住参数输入框之框体提示文字。,【例g】针对成绩表创建参数查询,以学号来查询学生的情况。,11:38:34,37,6.4 创建参数查询,动手练一练:针对成绩表创建参数查询,查询出高于某个成绩值的学生记录。在成绩字段的条件框中输入:请输入某个成绩:,【例h】针对学生表创建参数查询,查询出生年月在某个日期段(从日期1到日期2)的学生记录。BETWEEN 请输入起始日期:AND 请输入结束日期:,动手练一练:针对学生表创建参数查询,查询出某两个学号的学生情况。请输入一个学号:OR 请输入另一个学号:,11:38:34,38,6.4 创建参数查询,【例i】针对学生表创建参
13、数查询,查询出某个姓的学生记录。like 请输入所包含的字:&”*”,11:38:34,39,6.5 创建操作查询,操作查询包括删除查询、更新查询、追加查询和生成表查询四种。,1、删除查询用于删除记录 打开查询设计视图,加入数据源,选定跟条件相关的查询字段,并指定查询类型为“删除查询”,必要时在“条件”单元格中输入条件,便可把指定数据源中满足条件的记录删除掉。不指定条件时,则删除所有记录。,11:38:34,40,6.5 创建操作查询,【例j】针对学生表创建操作查询,删除学号为040202的学生记录。学号字段的条件框:040202 DELETE FROM 学生表 WHERE 学号=“04020
14、2”,动手练一练:针对学生表创建操作查询,删除“罗”姓或“张”姓的学生记录。姓名字段的条件框:LIKE“罗*”OR LIKE“张*”DELETE FROM 学生表 WHERE 姓名 LIKE“罗*”OR 姓名 LIKE“张*”,11:38:34,41,6.5 创建操作查询,创建带参数的删除查询:,11:38:34,42,6.5 创建操作查询,2、更新查询用于更新记录 打开查询设计视图,加入数据源,选定跟条件相关的查询字段及要更新的字段,并指定查询类型为“更新查询”,必要时在“条件”单元格中输入条件,便可把指定数据源中满足条件的记录中的指定字段值更新为指定的值。不指定条件时,则更新所有记录。,1
15、1:38:34,43,6.5 创建操作查询,【例k】针对成绩表创建操作查询,为课程编号为01-03的学生的成绩加2分。操作方法:添加数据源成绩表,指定查询类型为更新查询,并在字段框中添加跟条件相关的课程编号字段及要更新的成绩字段,然后在课程编号字段的条件框中输入:01-03;在成绩字段的更新到框中输入:成绩+2;相应的SQL语句为:UPDATE 成绩表 SET 成绩=成绩+2 WHERE 课程编号=“01-03”,11:38:34,44,6.5 创建操作查询,动手练一练:先为成绩表添加“及格否”字段:是/否型,然后针对成绩表创建操作查询,当成绩不低于60时,“及格否”字段的值为“yes”。打开
16、成绩表的设计视图,新增字段“及格否”,关闭设计视图。在查询设计视图中创建操作查询,指定数据源和查询类型,加入与条件相关的”成绩“字段及与更新操作相关的“及格否”字段,在”成绩“字段的条件框中输入=60,在“及格否”字段的更新到框中输入“yes”。UPDATE 成绩表 SET 及格否=-1 WHERE 成绩=60,11:38:34,45,6.5 创建操作查询,3、插入查询用于追加记录 可把一个数据表(源表)的指定字段值添加到另一个数据表(目标表)的相应字段中。打开查询设计视图,加入源表,指定查询类型为追加查询,根据提问回答(输入)目标表名。再在字段框中添加源表的相关字段,在追加到框中选择目标表的
17、相应字段,最后关闭设计视图。,11:38:34,46,6.5 创建操作查询,【例L】创建操作查询,为成绩表追加来自于成绩表1的记录。打开查询设计视图,加入源表:成绩表1,选择查询类型为追加查询并指定目标表:成绩表,在字段框选择成绩表1.*,这时追加到框中会自动填入为成绩表.*,最后关闭设计视图,并回答查询名称。,11:38:34,47,6.5 创建操作查询,动手练一练:创建操作查询,把成绩表1中所有学号为040101的记录添加到成绩表中。打开查询设计视图,加入源表:成绩表1,选择查询为追加查询并指定目标表:成绩表,在字段框中加入学号、课程编号和成绩,在追加到框中相应地加入学号、课程编号和成绩,
18、在“学号”列的条件框中输入“040101”,最后关闭设计视图,并回答查询名称。,11:38:34,48,6.5 创建操作查询,4、生成表查询把查询结果保存于一数据表中 打开查询设计视图,加入数据源,指定查询类型为生成表查询,根据提问回答(输入)用来保存查询结果的目标表名。再在字段框中添加目标表所要包含的字段,并可指定排序依据及查询条件,最后关闭设计视图。生成表查询是在选择查询的基础上,把查询结果保存于一数据表中。,11:38:34,49,6.5 创建操作查询,【例m】创建操作查询,根据学生表和成绩表查询每个学生的学号、姓名、课程编号和成绩,并把查询结果保存于数据表:学生成绩中。数据源:学生表和
19、成绩表。选择类型为生成表查询并指定用来保存查询结果的目标表:学生成绩,在字段框加入学生表中的学号和姓名字段,以及成绩表中的课程编号和成绩字段,最后关闭设计视图,并回答查询名称;1)SELECT XS.学号,姓名,课程编号,成绩 FROM 学生表 XS,成绩表 CJ WHERE XS.学号=CJ.学号 INTO 学生成绩2)SELECT XS.学号,姓名,课程编号,成绩 FROM 学生表 XS INNER JOIN 成绩表 CJ ON XS.学号=CJ.学号 INTO 学生成绩,11:38:34,50,6.5 创建操作查询,动手练一练:创建操作查询,根据学生表和成绩表查询所有男生的姓名、课程编号
20、和成绩,并把查询结果保存于数据表:男生成绩中,要求查询结果是按成绩降序排列的。打开查询设计视图,加入数据源表:学生表和成绩表,选择查询为生成表查询并指定目标表:男生成绩,再在字段框中加入学生表中的姓名和性别字段,以及成绩表中的课程编号和成绩字段,并取消性别字段的显示状态,在性别字段的条件框中输入“男”,在成绩字段的排序框中选择“降序“,最后关闭设计视图,并回答查询名称。,11:38:34,51,使用查找不匹配项查询向导创建查询,在一个表中查找那些在另一个表中没有相关记录的记录(行)。实验二第7小题:以学生表和成绩表为数据源,建立名为“未选课学生查询”的查询。(1)在数据库窗口的“对象”选项组中
21、单击“查询”,然后单击“新建”按钮。(2)单击“查找不匹配项查询向导”,然后单击“确定”按钮。(3)选择要查找的表,如学生表。,11:38:34,52,使用查找不匹配项查询向导创建查询,(4)单击“下一步”按钮,选择要查找包含相关记录的表,如成绩表。(5)单击“下一步”按钮,选择两个表的公共字段,如学号。(6)单击“下一步”按钮,选择查询结果中将要出现的字段,如学号,姓名。(7)单击“下一步”按钮,为查询命名。(8)单击“完成”按钮,完成查询的创建,系统返回至查询结果。,11:38:34,53,使用查找重复项查询向导创建查询,例:在成绩表中查询成绩相同的记录,查询结果包括成绩、学号、课程编号。
22、,11:38:34,54,使用查找重复项查询向导创建查询,在学生表中查询姓名相同的记录,查询结果包括学号和姓名。(1)在数据库窗口的“对象”选项组中单击“查询”,然后单击“新建”按钮。(2)单击“查找重复项查询向导”,然后单击“确定”按钮。(3)在弹出的对话框中,选择要查找的表,如成绩表。,11:38:34,55,使用查找重复项查询向导创建查询,(4)单击“下一步”按钮,选中“可用字段”列表框中的字段(如成绩),然后单击“添加”按钮将其添加到“重复值字段”列表中。(5)单击“下一步”按钮,选择需要显示的其他字段(如学号和课程编号)。(6)单击“下一步”按钮,输入查询的名称。(7)单击“完成”。
23、,11:38:34,56,6.6 SQL查询,2、编辑SQL语句 对于SQL查询,可在选取了该查询后,单击“设计”按钮,调出一个SQL视图窗口,然后编辑它。而对于非SQL查询,选取了查询并单击“设计”按钮,所调出的则是一个相应的设计视图。这时,右击设计视图的空白处,从中选择“SQL视图”项,便会调出一个SQL视图,显示出相应的SQL语句,这时,用户可编辑它。,使用SQL语句所创建的查询。有数据定义查询、操作查询和选择查询三种。创建SQL查询可以使用查询设计视图,编辑SQL语句可以使用SQL视图。,1、创建SQL查询 打开查询设计视图,期间关闭“显示表”对话框,然后在“查询”菜单中选择“SQL特定查询数据定义/联合”项,会调出一个SQL语言编辑窗口,在该窗口中输入SQL语句,运行,再关闭并保存查询,便可创建SQL查询。,11:38:34,57,小结,查询是数据库管理系统的基本功能。本章介绍了Access 2003中查询的种类及其创建方法(查询向导、查询设计视图和SQL查询)以及运行查询的方法。通过本章的学习,读者应掌握查询的创建及运行方法,了解在设计视图中显示或隐去字段、设置排序依据、设置分组依据、设置查询条件、保存查询结果的操作方法。,11:38:34,58,自我测试,P99之选择题,填空题,上机操作题。,Thank You!,
链接地址:https://www.31ppt.com/p-6358792.html