第3章 查询
●章前导读
通过本章,你可以学习到:
◎查询的功能和类型
◎在查询里计算
◎基本的SQL查询
◎操作已创建的表
◎使用查询向导和设计视图创建查询
◎创建交叉查询、参数查询、操作查询等
本章学习流程图
3.1 查询概述
在生活中,你可能只对某一事物的部分信息感兴趣。例如,你只想了解你们班上英语成绩在80分以上的同学信息,或者你只想知道哪些同学通过了四、六级考试。要了解这些信息,你需要在原有的数据中进行选择。
同样,在Access中,你也可以选择自己需要的信息,这个选择可以通过查询来实现。正确地保存数据只是第一步,灵活、方便、快捷地对数据库中的数据进行统计分析,寻找更多有用的信息才是关键。本节主要介绍查询的基本知识、功能、创建方法等知识。
3.1.1 查询的功能
学习提示
【熟记】查询的功能
查询最主要的目的,是根据指定的条件,对表或者其他查询进行检索,筛选出符合条件的记录,构成一个新的数据集合,从而方便对数据库中的表进行查看和分析。
(1)选择字段。
在查询中,可以只选择表中部分字段。例如,创建一个查询,只显示“教师”表中每名教师的姓名、性别、工作时间和系别。利用此功能,可以选择一个表中的不同字段来生成所需的多个表或多个数据集。
(2)选择记录。
可以根据指定条件查找所需的记录,并显示找到的记录。例如,创建一个查询,只显示“教师”表中1992年参加工作的男教师。
(3)编辑记录。
编辑记录包括添加记录、修改记录和删除记录等。在Access中,可以利用查询添加、修改和删除表中的记录。例如将“计算机实用软件”不及格的学生从“学生”表中删除。
(4)实现计算。
查询不仅可找到满足条件的记录,而且还可以在建立查询的过程中进行各种统计计算,例如计算每门课程的平均成绩。另外,还可以建立一个计算字段,利用计算字段保存计算结果,例如根据“教师”表中的“工作时间”字段计算每名教师的工龄。
(5)建立新表。
利用查询得到的结果可以创建一个新表。例如将“计算机实用软件”成绩在90 分以上的学生找出来,并存放在一个新表中。
(6)为窗体、报表或数据访问页提供数据。
为了从一个或多个表中选择合适的数据显示在窗体、报表或数据访问页中,用户可以先建立一个查询,然后将该查询的结果作为数据源。每次打印报表或打开窗体、数据访问页时,该查询就从它的基表中检索出符合条件的最新记录。
查询对象不是数据的集合,而是操作的集合。查询的运行结果是一个数据集,也称为动态集。它很像一个表,但并不存储在数据库中。创建查询后,只保存查询的操作,只有在运行查询时,才会从查询数据源中抽取数据,并创建它;只要关闭查询,查询的动态集就会自动消失。
3.1.2 查询的类型
学习提示
【熟记】查询的类型及特点
Access提供了以下几种查询:选择查询、参数查询、操作查询、交叉表查询和SQL查询。
(1)选择查询:选择查询是最常见的查询类型,它可以通过指定条件,从一个或多个表中检索数据,并且在数据表中按照顺序显示数据,还可以对记录进行计数、求和、平均值及其他类型的计算。
例如,查找“学生管理”数据库“学生”表中“专业”为“经济管理”的记录,如图3-1 所示,可以通过在“设计视图中创建查询”建立该查询。
图3-1 “设计”视图
运行该查询后,查询结果如图3-2所示。
图3-2 选择查询结果
(2)交叉表查询:使用交叉表查询能够以行列的格式分组和汇总数据,就像一张Excel的数据透视表一样。交叉表查询可以在类似于电子表格的格式中显示来源于表中某个字段的合计值、计算值、平均值等。它将这些数据分组,一组列在数据表的左侧,另一组列在数据表的上部。
(3)参数查询:参数查询是在执行时显示对话框,要求用户输入查询信息,根据输入信息检索字段中的记录。例如,在上例中可以设置弹出要求输入要查询的专业的对话框,如果输入“经济管理”,同样可以查询到经济管理专业的学生信息。
(4)操作查询:操作查询是指在一个操作中可以对一条或多条记录进行更改或移动的查询。操作查询包括生成表查询、更新查询、追加查询和删除查询4种。
生成表查询是利用一个或多个表中的数据建立新表,主要用于创建表的备份等。
更新查询可以对一个或多个表中的一组记录作更改。
追加查询可以将一个或多个表中的记录追加到其他一个或多个表中。
删除查询可以将一个或多个表中的记录删除。
(5) SQL查询:SQL查询是指用户利用SQL语句进行查询,SQL特定查询包括联合查询、传递查询、数据定义查询和子查询等。
3.1.3 查询的条件
学习提示
【掌握】常用查询准则的使用方法
1.运算符
(1)算术操作符包括加(+)、减(-)、乘(∗)、除(/)和乘方(^)等。
(2)关系操作符包括小于(<)、小于等于(< =)、大于(>)、大于等于(> =)、等于(=)和不等于(< >),如表3-1所示。
(3)逻辑操作符包括AND(逻辑与)、OR(逻辑或)和NOT(逻辑非) ,如表3-2所示。
(4)连接操作符包括“&”和“+”。
(5)标识操作符包括“!”(感叹号)和“.”(句号)。
(6)特殊操作符包括In、Like、Is Null、Is Not Null和Between,如表3-3所示。
表3-1 关系运算符及其说明
表3-2 逻辑运算符及其说明
表3-3 特殊运算符及其说明
2.函数
Access中常用的函数及功能如表3-4~表3-7所示。
表3-4 数值函数
表3-5 日期时间函数
表3-6 字符函数
表3-7 统计函数
3.使用数值作为查询条件
在创建查询时,经常会用数值作为查询条件。以数值作为查询条件的简单示例如表3-8所示。
表3-8 使用数值作为查询条件的示例
4.使用文本值作为查询条件
使用文本值作为查询条件,可以方便地限定查询文本范围。以文本值作为查询条件的示例和功能如表3-9所示。
表3-9 使用文本值作为查询条件示例
查找职称为“教授”的职工,查询条件可以表示为:="教授", 为了输入方便,Access 允许在条件中省略“ =”,所以可以直接表示为:"教授"。输入时如果没有加双引号,Access会自动加上双引号。
5.使用处理日期结果作为查询条件
表3-10 使用处理日期结果作为查询条件的示例
书写这类条件时需注意,日期常量要用英文的“#”号括起来。
6.使用字段的部分值作为查询条件
使用字段部分值作为查询条件,可以方便地限定查询的范围。使用字段的部分值作为查询条件的示例如表3-11 所示。
表3-11 使用字段的部分值作为查询条件的示例
7.使用空值或空字符串作为查询条件
空值是使用Null或空白来表示字段的值;空字符串是用双引号括起来的字符串,且双引号中间没有空格。使用空值或空字符串作为查询条件的示例如表3-12所示。
表3-12 使用空值或空字符串作为查询条件的示例
最后需注意,在条件中,字段名必须使用方括号括起来,而且数据类型应与对应字段定义的类型相符合,否则会出现数据类型不匹配的错误。
8.应用示例
应用示例如表3-13所示。
表3-13 函数应用示例
3.2 创建选择查询
Access提供了多种创建查询的方法,可以根据用户需求,简单、快速地创建查询。创建的是能单独执行的查询,或是作为多个窗体或报表的基础查询。创建好查询后,还可以切换到设计视图,进一步修改查询。本节将用实例介绍利用简单查询向导建立查询和利用设计视图创建查询的步骤。
3.2.1 使用“查询向导”
学习提示
【掌握】利用简单查询向导建立查询
使用向导创建查询的特点是快捷、方便,用户只需按照提示逐步选择,即可创建查询。对于一般性的查询,使用向导来创建是比较方便的。
【例3-1】 使用向导查询并显示“学生管理”数据库“成绩”表中的“学号”、“成绩”字段。
在数据库视图窗口中单击“对象”控制面板中的“查询”对象,切换到查询窗口界面,在右边的列表中双击“使用向导创建查询”选项,如图3-3所示。
图3-3 “查询”窗口
弹出“简单查询向导”对话框,在“表/查询”下拉列表中选择需要查询的表,如图3-4所示。
图3-4 “简单查询向导”对话框
在“可用字段”列表框中选择用于查询的字段,再单击 按钮,将其添加到“选定的字段”列表框中,如图3-5 所示。如果想将所有字段添加到“选定的字段”列表框中,单击 按钮;如果想将“选定的字段”列表框中的某个字段删除,单击 按钮;若全部删除,单击 按钮;若要建立基于多个“表/查询”的查询,重复上面的步骤,将所需的字段添加完毕,并单击“下一步”按钮。
图3-5 选择添加需要查询的字段
选择“明细(显示每个记录的每个字段)”单选按钮,单击“下一步”按钮,如图3-6 所示。“明细”查询将显示所选定字段的基本内容,“汇总”查询显示需要计算的汇总值,包含平均值、总和、最大值等。
图3-6 确定采用明细查询还是汇总查询
在“请为查询指定标题”文本框中输入“成绩查询信息”,并选择“打开查询查看信息”单选按钮,如图3-7所示。
图3-7 输入查询标题
单击“完成”按钮,打开查询的数据表视图窗口,结果如图3-8所示。
图3-8 建立的查询
请注意
在“简单查询向导”对话框中,要打开查询查看信息,则在完成向导后直接打开数据表视图窗口;要修改查询设计,则在完成向导后直接打开查询设计视图窗口。
【例3-2】 使用向导查询并显示“职工管理”数据库“工资”表中的“工号”、“基本工资”字段。
在数据库窗口中,单击“对象”控制面板中的“查询”对象,切换到查询窗口界面,如图3-9所示。
在图3-9右边的列表中双击“使用向导创建查询”选项,打开“简单查询向导”对话框,在“表/查询”下拉列表中选择需要查询的表,如图3-10所示。
图3-9 “查询”窗口
图3-10 “简单查询向导”对话框
在“可用字段”列表框中选择用于查询的字段,再单击 按钮,将其添加到“选定的字段”列表框中,如图3-11所示。如果想将所有字段添加到选定的字段列表框中,单击 按钮;如果想将“选定的字段”列表框中的某个字段删除,单击 按钮;若全部删除,单击 按钮;若要建立基于多个“表/查询”的查询,重复上面的步骤,将所需的字段添加完毕,然后单击“下一步”按钮。
图3-11 选择字段
在“请为查询指定标题”文本框中输入“基本工资查询”,并选择“打开查询查看信息”单选按钮,如图3-12所示。
图3-12 指定标题
单击“完成”按钮,打开查询的“数据表”视图窗口,结果如图3-13所示。
图3-13 查询结果
3.2.2 使用“设计”视图
学习提示
【掌握】利用“设计”视图创建查询
Access有5种查询视图,分别为“设计”视图、数据表视图、SQL视图、数据透视表视图和数据透视图视图。在“设计”视图中,既可创建不带条件的查询,也可创建带条件的查询,还可对已建查询进行修改。
查询“设计”视图窗口工具栏如图3-14所示,按钮功能说明如表3-14所示。
图3-14 查询“设计”视图窗口工具栏
表3-14 工具栏按钮的功能
【例3-3】 使用“设计”视图创建查询“学生成绩查询”。
在“学生管理”数据库设计窗口的“对象”列中选择“查询”对象。
双击右栏中的“在设计视图中创建查询”项,打开查询“设计”视图,并打开“显示表”对话框,如图3-15所示。
图3-15 为查询添加表
“显示表”对话框中选项卡的说明如表3-15所示。
表3-15 “显示表”对话框中选项卡的说明
在“显示表”对话框中选择“成绩”和“学生”表,添加到查询“设计”视图中,结果如图3-16所示。
图3-16 添加表后的视图
请注意
查询设计的每一列对应着查询结果中的一个字段,而网格的行标题代表了查询的属性字段,如图3-16所示,相关说明如表3-16所示。
表3-16 查询“设计”视图中的字段说明
将“学生”表中的“姓名”和“家庭住址”字段,“成绩”表中的“成绩”字段添加到设计网格中,如图3-17所示。
图3-17 添加字段
在“成绩”字段列的“排序”行中单击,在弹出的下拉列表框中选择“降序”选项,如图3-18所示。
图3-18 设置排序
在“成绩”字段列的“条件”和“或”行中单击,在输入栏中输入“>80”和“<60”,如图3-19所示。
图3-19 查询条件设置
单击“查询设计”工具栏上的“运行”按钮 ,弹出显示符合查询的数据记录,结果如图3-20所示。
图3-20 所查询的结果表
如果查询的数据记录不符合要求,可以单击工具栏上的“视图”按钮 ,或执行“视图”➝“设计视图”菜单命令,修改“设计”视图的内容,如图3-21所示。
图3-21 转换到“设计”视图
单击工具栏中的“保存”按钮 ,弹出“另存为”对话框,如图3-22所示。
图3-22 “另存为”对话框
在“另存为”文本框中输入“学生成绩查询”,单击“确定”按钮,完成创建。
3.2.3 在查询中进行计算
学习提示
【掌握】各种常用总计查询
在前面的章节中,我们已经介绍了建立查询的方法,但之前的查询并不能对查询结果进行进一步的分析和利用。本节将介绍如何在查询中进行计算。
1.查询计算功能
在Access查询中,可以执行两种类型的计算,即预定义计算和自定义计算。
预定义计算即“总计”计算,是系统提供的对查询中的记录组或全部记录进行的计算,它包括总计、平均值、计数、最大值、最小值、标准偏差或方差等。
单击工具栏上的“总计”按钮 ,可以在设计网格中显示“总计”行。对设计网格中的每个字段,都可以在“总计”行中选择总计项,来对查询中的全部记录、一条或多条记录组进行计算。“总计”行中有12个总计项,其名称及含义如表3-17所示。
表3-17 总计项及意义
自定义计算可以用一个或多个字段的值进行数值、日期和文本计算。例如,用某一个字段值乘上某一数值,用两个日期时间字段的值相减等。对于自定义计算,必须直接在设计网格中创建新的计算字段,创建方法是将表达式输入到设计网格的空字段行中,表达式可以由多个计算组成。
2.在查询中进行计算
总计查询用于对表中的全部记录进行总计计算,包括计算平均值、最大值、计数和方差等,并显示计算查询结果。
【例3-4】 利用总计查询,要求在查询中统计学生的平均成绩和总成绩。
在“学生管理”数据库窗口的“对象”列中选择“查询”对象,并双击右栏中的“在‘设计’视图中创建查询”项,打开查询“设计”视图,在“显示表”对话框中选择“成绩”、“课程”和“学生”表,添加到查询设计窗口中。
将“学生”表中的“姓名”和“性别”字段,“成绩”表中的“学号”和“成绩”字段(两次)添加到设计网格中。
单击“查询设计”工具栏上的“总计”按钮 ,此时将在视图网格中出现“总计”行,分别在两个“成绩”字段的“总计”行中选择“平均值”和“总计”选项,如图3-23所示。
图3-23 添加“总计”行
单击“查询设计”工具栏上的“运行”按钮 ,弹出显示总计查询的数据记录,如图3-24所示。单击“保存”按钮,命名为“总计查询”。
图3-24 总计查询结果
3.在查询中进行分组统计
在查询中,如果需要对记录进行分类统计,可以使用分组统计功能。分组统计时,只需在“设计”视图中将用于分组字段的“总计”行设置成“分组”即可。
在查询设计中“总计”行的下拉列表中共有12个选项,各选项含义如表3-17所示。
4.添加计算字段
当用户需要统计的字段不在数据表中时,或用于计算的数据值源于多个字段时,就应该添加一个字段来显示需要统计的数据。下面以实例来介绍如何添加字段。
【例3-5】 利用自定义计算查询统计职工总工资。
在“职工管理”数据库设计窗口的“对象”列中选择“查询”对象,并双击右栏中的“在设计视图中创建查询”项,打开查询“设计”视图。在“显示表”对话框中选择“工资”表和“职工”表,添加到查询设计窗口中。
将“职工”表中的“姓名”字段,“工资”表中的“基本工资”、“岗位津贴”、“加班补助”和“午餐补助”字段添加到设计网格中,并在查询设计的空白“字段”行中输入表达式:总计为 [基本工资] +[岗位津贴] +[加班补助] +[午餐补助],在对应的“排序”行中选择“降序”,如图3-25所示。
图3-25 查询“设计”视图
单击“查询设计”工具栏上的“运行”按钮 ,弹出显示符合查询的数据记录,如图3-26 所示。单击“保存”按钮,命名为“自定义计算”。
图3-26 查询运行结果
【例3-6】 查找“学生管理”数据库中平均分低于班级平均分的学生,并显示其姓名、班级号(学号前两位)、平均成绩。
打开“学生管理”数据库,选择“查询”对象,双击“在设计视图中创建查询”项,在图3-27 所示的窗体中添加“学生”表。
图3-27 “显示表”对话框
如图3-28所示,在“字段”行第一列单元格中输入“班级:LEFT( [学生] ! [学号] ,2 )”,取出学号前两位作为班级号。
图3-28 获取班级号
单击“运行”按钮 ,运行后的数据查询结果如图3-29所示。
图3-29 查询结果
切换至“设计”视图,单击右键,在弹出的快捷菜单中选择“显示表”命令,如图3-30 所示,在查询中添加“成绩”表,如图3-31所示。
图3-30 显示表菜单
图3-31 添加“成绩”表后的视图
将“成绩”表中的“成绩”字段添加到“设计”视图中,单击工具栏中的“总计”按钮 ,并将“成绩”字段“总计”行中的函数改为平均值,结果如图3-32所示。
图3-32 统计班级平均成绩
单击“运行”按钮 ,运行后的数据查询结果如图3-33所示。
图3-33 班级平均成绩查询结果
保存该查询,命名为“班级平均分”。
使用相同的方法计算学生平均成绩,如图3-34 所示;将查询保存为“学生平均成绩”,如图3-35所示。
图3-34 计算学生平均成绩
图3-35 学生平均成绩查询结果
打开查询“设计”视图,在“显示表”窗体“查询”选项卡中添加“班级平均分”、“学生平均成绩”两个查询,如图3-36所示。
图3-36 添加查询
建立两个查询间的关系。选定“班级平均分”中的“班级”字段,按下鼠标左键,拖动至“学生平均成绩”中的“班级”字段上,释放鼠标,建立好的关系如图3-37所示。
图3-37 建立两个查询间的关系
在步骤10建立的查询中,添加“学生平均成绩”查询中的“班级”、“姓名”字段;然后在“字段”的第3列新添加一个字段“平均成绩”,其表达式为“平均成绩:成绩之平均值”;在“字段”的第4 列添加一个计算字段“差”,用于计算学生平均成绩与班级平均成绩的差,其计算表达式为“差:[学生平均成绩]! [成绩之平均值] -[班级平均分]! [成绩之平均值]”。
在“差”字段的“条件”行中输入“ <0”,并取消“显示”,如图3-38所示。
图3-38 设计新查询
单击工具栏上的保存按钮 ,弹出“另存为”对话框,如图3-39所示。
图3-39 保存查询
单击“运行”按钮 ,运行后的数据查询结果如图3-40所示。
图3-40 查询结果
3.3 创建交叉表查询
交叉表查询生成的数据显示更清晰,结构更紧凑合理。它为用户提供了很清楚的汇总数据,便于用户分析和使用。本节将介绍创建交叉表查询的方法和步骤。
3.3.1 认识交叉表查询
简单地说,交叉表查询就是一个用户建立起来的二维总计矩阵。交叉表查询除需制定查询对象和字段外,还需要知道如何统计数字,用户需定义表3-18中的3个字段。
表3-18 交叉表字段说明
本节将分别介绍如何使用向导及“设计”视图建立交叉表查询。
学习提示
【掌握】使用向导创建交叉表
3.3.2 使用“交叉表查询向导”
创建交叉表查询的方法有两种:“交叉表查询向导”和查询“设计”视图。
【例3-7】 使用向导建立“学生管理”数据库“学生”表的交叉表查询,查询每个专业的男女学生数。
打开要建立查询的数据库文件,单击“对象”控制面板中的“查询”对象,并单击该窗口中的“新建”按钮 ,打开“新建查询”对话框。选择“交叉表查询向导”,单击“确定”按钮,如图3-41所示。
图3-41 “新建查询”对话框
在“交叉表查询向导”对话框中,在指定表或查询时,在列表框中选择“学生”项,并选择“视图”选项组中的“表”单选按钮。如果要建立包含多个表中字段的交叉查询,先要创建一个含有所需字段的查询,在此查询的基础上建立交叉查询,单击“下一步”按钮,如图3-42所示。
图3-42 “交叉表查询向导”对话框1
在图3-43中选择行标题,在“可用字段”列表框中选择“专业”字段,然后单击“下一步”按钮。
图3-43 “交叉表查询向导”对话框2
在图3-44 中的列表框中选择作为列标题的字段,选择“性别”字段,在对话框的下部可以看到生成交叉表的示例图。单击“下一步”按钮。
图3-44 选择列标题
在图3-45 的“字段”列表框中选择作为列和行交叉点显示的项目字段,在“字段”列表框中选择“学号”,在“函数”列表框中选择“计数”。取消“是,包括各行小计”复选框,如果需要小计,则勾选该复选框,然后单击“下一步”按钮。
图3-45 选择列标题
在图3-46 所示的对话框中输入查询名称“学生_交叉表”,选中“查看查询”单选按钮,然后单击“完成”按钮。
图3-46 为交叉表选择计算值
保存并运行查询,结果如图3-47所示。
图3-47 交叉表查询结果
3.3.3 使用“设计”视图
学习提示
【掌握】使用“设计”视图创建交叉表
【例3-8】 利用“设计”视图,在“学生管理”数据库中创建交叉表查询,显示学生各科成绩。
打开“学生管理”数据库,双击“在设计视图中创建查询”项。
在查询“设计”视图“显示表”窗体中的“表”选项卡中选择“成绩”、“学生”和“课程”,单击“添加”按钮。
向“设计”视图中添加“学生”表中的“姓名”字段、“课程”表中的“课程”字段、“成绩”表中的“成绩”字段,然后选择“交叉表查询”,如图3-48所示。
图3-48 选择“交叉表查询”
如图3-49所示,设置“姓名”字段为“行标题”,“课程”字段为“列标题”,“成绩”字段为“值”。
图3-49 设置交叉表
单击“运行”按钮 ,运行后的数据查询结果如图3-50所示。
图3-50 交叉表查询结果
单击“保存”按钮,命名为“交叉表查询”。
3.4 创建参数查询
学习提示
【掌握】创建单参数查询
前面介绍的建立查询的方法都是在条件固定的情况下。如果用户希望根据某个或某些字段不同的值来查询,就可以使用Access中的参数查询。
参数查询是通过对话框提示用户输入查询参数,然后检索数据库中符合用户要求的记录或值。用户不仅可以建立单参数查询,还可以建立更为复杂的多参数查询。
3.4.1 单参数查询
【例3-9】 建立一个参数查询,在查询运行中,要求输入出生日期后,才能显示符合查询条件的记录。
在“学生管理”数据库窗口中打开查询“设计”视图,在“显示表”对话框中选择“学生”表,添加到查询设计窗口中。
在“学生”表中双击需要建立查询的字段,添加“姓名”、“出生年月日”、“家庭住址”和“团员”等字段,并在“出生年月日”字段列的“条件”行中输入查询条件:[请输入出生日期:] ,如图3-51所示。
图3-51 定义查询条件
单击“查询设计”工具栏上的“运行”按钮 ,弹出“输入参数值”对话框,输入“1983 - 7 - 1”,单击“确定”按钮,如图3-52所示。
图3-52 “输入参数值”对话框
结果如图3-53所示,单击工具栏上的“保存”按钮 ,命名为“参数查询”。
图3-53 参数查询结果
3.4.2 多参数查询
学习提示
【掌握】使用多参数查询
【例3-10】 建立多个参数查询,要求查询出生日期介于1983年4月至1985年6月的学生姓名和成绩信息。
在“学生管理”数据库窗口中打开查询“设计”视图,在“显示表”对话框中选择“学生”、“成绩”、“课程”表,添加到查询设计窗口中。
在表中双击需要建立查询的字段,添加“姓名”、“成绩”、“出生年月日”和“课程”字段,并在“出生年月日”字段列的“条件”行中输入查询条件,如图3-54所示。
图3-54 定义查询条件
单击“查询设计”工具栏上的“运行”按钮 ,分别弹出两个“输入参数值”对话框,输入“1983 - 4 - 1”和“1985- 6- 30”,如图3-55、图3-56所示。输入完成后单击“确定”按钮。
图3-55 输入参数1
图3-56 输入参数2
结果如图3-57所示,单击“保存”按钮,命名为“多参数查询”。
图3-57 参数查询结果
请注意
利用参数查询,可以设置输入数据的条件范围,根据不同的条件查询所需数据。
3.5 创建操作查询
操作查询与选择查询、交叉表查询以及参数查询不同。选择查询、交叉表查询以及参数查询,只是根据用户要求从原始数据中选择数据,并不会对原始数据进行修改;而操作查询既可以查询数据,也可以对原始数据进行修改。所以在使用操作查询时,应该十分小心。
操作查询可以在一个操作中更改许多记录。例如,在一个操作中删除一组记录、更新一组记录等。
操作查询包括生成表查询、删除查询、更新查询和追加查询4 种,下面我们将详细介绍各种操作查询。
3.5.1 生成表查询
学习提示
【掌握】生成表查询
如果经常要从多个表中选择数据,就可以从多个表中提取数据,组合起来,生成一个新表,永久保存。
【例3-11】 使用生成表查询创建新表,要求在“学生管理”数据库中将查询到的“学生”信息保存到1个新表内。
在“学生管理”数据库窗口中打开查询“设计”视图,在“显示表”对话框中选择“学生”表,添加到查询设计窗口中。
在“学生”表中双击需要建立查询的字段,添加“姓名”、“出生年月日”、“家庭住址”和“团员”,如图3-58所示。
图3-58 添加字段
在工具栏中单击“查询类型”按钮右侧的下三角按钮 ,在弹出的列表框中选择“生成表查询”项或执行“查询”➝“生成表查询”菜单命令,弹出“生成表”对话框。
在“生成表”对话框中输入新表的名称“学生姓名”,并选择“当前数据库”单选按钮,然后单击“确定”按钮,如图3-59所示。
图3-59 “生成表”对话框
单击工具栏上的“运行”按钮 ,弹出提示框,如图3-60所示。单击“是”按钮,完成创建生成表查询。
图3-60 提示框
3.5.2 删除查询
学习提示
【掌握】删除查询
删除查询主要用于删除同一类的一组记录,可以从单个表中删除,也可以从多个相互关联的表中删除。
【例3-12】 使用删除查询,从“成绩”数据表中删除指定的数据记录。
在“学生管理”数据库设计窗口中打开查询“设计”视图,将“成绩”表添加到查询设计窗口中,并将要删除的字段添加到设计网格中。
单击工具栏中“查询类型”按钮右侧的下三角按钮 ,在弹出的列表框中选择“删除查询”项或执行“查询”➝“删除查询”菜单命令。
在查询设计器的设计部分添加“删除”行,在“删除”栏中分别选择相应的字段,然后在“条件”行中输入条件:[成绩] >80,如图3-61所示。
单击工具栏上的“运行”按钮 ,弹出删除提示框,单击“是”按钮,即删除指定的记录。
单击工具栏上的“保存”按钮,在数据库对象表中打开“成绩”表,可以看出成绩大于80 的记录都被删除了,如图3-62所示。
图3-61 输入删除准则
图3-62 删除后的结果
3.5.3 更新查询
学习提示
【掌握】更新查询
更新查询主要用于对大量的并且符合一定条件的数据进行更新和修改,它是比较简单、快捷的方法。
【例3-13】 使用更新查询,更新“成绩”表中的成绩。
在“学生管理”数据库窗口中打开查询“设计”视图,在“显示表”对话框中选择“成绩”表,添加到查询设计窗口中,并将需要的查询字段添加到设计网格中。
单击工具栏中“查询类型”按钮右侧的下三角按钮 ,在弹出的列表框中选择“更新查询”项或执行“查询”➝“更新查询”菜单命令,此时“设计”视图网格中将会出现“更新到”栏,如图3-63所示。
在“成绩”字段所对应的“更新到”栏内输入更新表达式:[成绩] +1,如图3-64所示。
单击工具栏上的“运行”按钮 ,弹出提示框,如图3-65所示。单击“是”按钮,完成更新查询,保存更新查询名为“更新查询”。
图3-63 选择“更新查询”后的视图
图3-64 输入更新表达式
图3-65 提示框
3.5.4 追加查询
学习提示
【掌握】追加查询
追加查询主要是在数据库维护时,将某一表中符合条件的记录添加到另外一个表中。
【例3-14】 在“学生管理”数据库中,先使用生成表查询建立两个表“70分以上”、“70分以下”,然后使用追加查询,将“70分以下”表中的数据记录追加到“70分以上”表。
在“学生管理”数据库窗口中打开查询“设计”视图,将“成绩”表添加到查询设计窗口中,并将表中字段添加到设计网格中,设置“成绩”字段条件为“ > 70”,如图3-66 所示。执行“查询”➝“生成表查询”菜单命令,在弹出的“生成表”对话框中输入新表名称“70 分以上”,单击“运行”按钮;同理创建“70 分以下”表。
图3-66 输入查询准则
在“学生管理”数据库设计窗口中打开查询“设计”视图,将“70 分以下”表添加到查询设计窗口中,单击工具栏中“查询类型”按钮右侧的下三角按钮 ,在弹出的列表框中选择“追加查询”项或执行“查询”➝“追加查询”菜单命令,此时弹出“追加”对话框。
在“表名称”文本框中输入或选择“70分以上”,选择“当前数据库”单选按钮,然后单击“确定”按钮,如图3-67所示。
图3-67 “追加”对话框
双击“70分以下”表中的“* ”,添加到查询设计视图的“字段”列。
单击工具栏上的“运行”按钮 ,弹出追加提示框,单击“是”按钮后,“70 分以下”表中的所有记录追加到了“70分以上”表中。
单击工具栏上的“保存”按钮。执行“追加查询”之后,在数据库对象表中打开“70 分以上”表,可以看见追加的记录在原记录后面,如图3-68所示。
图3-68 追加后的表
3.6 创建SQL查询
SQL查询主要用于完成复杂查询工作,因为有一些查询是无法用查询向导和设计器创建出来的。实际上,因为Access查询就是以SQL为基础实现查询功能的,所以Access中的查询都可以认为是一个SQL查询。SQL查询分为联合查询、传递查询、数据定义查询和子查询4种。
本节将介绍如何使用SQL语句创建查询及几种常见的SQL查询。
3.6.1 查询与SQL视图
在Access中,任何一个查询都对应着一个SQL语句,可以说查询对象的实质是一条SQL语句。当使用“设计”视图创建一个查询时,就构造了一个等价的SQL语句。查询“设计”视图和相应的“SQL”视图如图3-69和图3-70所示。
图3-69 查询“设计”视图
图3-69是查询“设计”视图,反映了某一查询的设计情况。其中查询的数据源是“学生”表;查询要显示的字段是“姓名”、“学号”、“性别”;查询的条件是性别为“男”。图3-70 是查询的“SQL”视图。视图中显示了一个SELECT语句,该语句给出了查询需要显示的字段、数据源以及查询条件。两种视图设置的内容是一样的,因此它们是等价的。若想修改该查询,比如将查询条件由性别为“男”改为性别为“女”,只要在“SQL”视图中将“男”改为“女”即可,如图3-71所示。
图3-70 “SQL”视图
图3-71 在“SQL”视图修改查询
打开“SQL”视图的方法是:先打开查询“设计”视图,然后选择“视图”菜单中的“SQL视图”命令,或单击工具栏中的“视图”按钮右侧的向下箭头按钮,从下拉列表中选择“SQL视图”选项。
3.6.2 SQL语言简介
学习提示
【掌握】基本的SQL语句
SQL(Structured Query Language,结构化查询语言)是关系数据库的标准语言,是于1974年由Boyce和Chambelin提出的。它功能丰富、语言简洁,因而备受欢迎。
SQL集数据查询、数据操纵、数据定义和数据控制功能于一体,除具有一般关系数据库语言的特点外,还有其自身的特点。
(1) SQL具有自含式和嵌入式两种形式。
(2) SQL具有语言简洁、易学易用的特点。
(3) SQL支持三级模式结构,如图3-72所示。
图3-72 SQL三级模式
1.SQL基本语句
SQL的数据定义
SQL的数据定义包括定义基本表、定义索引、定义视图和定义数据库,表3-19列出的是其基本语句。
表3-19 SQL 的数据定义语句
在SQL语句格式中,有表3-20中所列的约定符号和语法规定。
表3-20 约定符号和语法规定
2.SQL基本语句
SQL基本语句包括查询语句(SELECT 语句)、插入语句(INSERT 语句)、删除语句(DELETE语句)和修改语句(UPDATE语句)。
SELECT语句是SQL语言中使用最频繁的语句,也是在Access中常见的SQL基本语句。本书只要求掌握SELECT语句,对其他语句不作要求,SELECT语句的基本格式如下:
例如,要在“学生管理”数据库中的“学生”表中检索性别为“男”的学生,并以“学号”排序,可以使用下列语句:
SELECT *
FROM 学生
WHERE(性别='男') ORDER BY(学号)
请注意
插入语句(INSERT语句)、删除语句(DELETE语句)、修改语句(UPDATE语句)统称为数据更新语句。
3.6.3 创建SQL特定查询
学习提示
【掌握】创建联合查询
1.创建联合查询
使用Union 联接查询语句时,字段数目和字段数据类型都必须相同。
【例3-15】 创建联合查询,将“职工管理”数据库的“工资”表和“职工”表中的“姓名”、“工号”字段进行联合查询。
在“职工管理”数据库中打开查询“设计”视图,转换到SQL视图中。
执行“查询”➝“SQL特定查询”➝“联合”菜单命令,如图3-73所示。并在SQL语句窗口中输入带有Union运算的 Select语句:
Select 姓名,工号 From 职工 Union Select 姓名,工号 From工资
图3-73 联合查询
单击工具栏上的“运行”按钮,数据表视图窗口中显示查询结果,如图3-74所示。
图3-74 Union运算的 Select语句的结果
请注意
每个Select语句返回的字段名和顺序都必须相同。如果将联合查询转换为另一种查询,如参数查询,则输入的SQL语句将丢失。
2.创建传递查询
学习提示
【掌握】创建传递查询
在创建传递查询时,首先要建立和数据库之间的连接,然后在SQL窗口中输入相应的SQL语句。
【例3-16】 通过传递查询,将ODBC数据库服务器连接需要的数据库。
打开查询“设计”视图,关闭“显示表”对话框。
如图3-75所示,执行“查询”➝“SQL特定查询”➝“传递”菜单命令,将“设计”视图转换为SQL传递查询编辑窗口,如图3-76所示。
图3-75 菜单命令
图3-76 SQL传递查询
单击工具栏上的“属性”按钮 ,或执行“视图”➝“属性”菜单命令,打开“查询属性”对话框,在“ODBC连接字符串”文本框中指定数据源的位置,或单击 图标,如图3-77所示。
图3-77 “查询属性”对话框
打开图3-78 所示的“选择数据源”对话框,单击“机器数据源”选项卡。
图3-78 “选择数据源”对话框1
如图3-79 所示,在列表中选择已有数据源;如果需要新建数据源,单击“新建”按钮 ,弹出图3-80所示的对话框,选择“系统数据源”,单击“下一步”按钮。
图3-79 “选择数据源”对话框2
图3-80 “创建新数据源”对话框1
在图3-81 所示的对话框中安装数据源驱动,本例安装SQL Server,单击“下一步”按钮。
图3-81 “创建新数据源”对话框2
弹出图3-82所示的对话框,单击“完成”按钮。
图3-82 “创建新数据源”对话框3
如图3-83 所示,命名数据源、选择服务器,单击“下一步”按钮。
图3-83 “创建到SQL Server的新数据源”对话框1
如图3-84所示,设置登录方式,单击“下一步”按钮。
图3-84 “创建到SQL Server的新数据源”对话框2
设置默认数据库,本例选择SQL自带数据库“master”,单击“下一步”按钮,如图3-85所示。
图3-85 “创建到SQL Server的新数据源”对话框3
单击“完成”按钮,如图3-86所示。
图3-86 “创建到SQL Server的新数据源”对话框4
单击“测试数据源”按钮,如图3-87所示。
图3-87 ODBC SQL Server 安装
弹出图3-88 所示的数据测试结果,单击“确定”按钮。
图3-88 数据测试结果
返回图3-87,单击“确定”按钮,弹出图3-89 所示的对话框,此时新数据源已经添加成功,单击“确定”按钮。
图3-89 数据源添加成功
弹出图3-90 所示的“连接字符串生成器”对话框,询问是否保存密码,此例选择“是”按钮。
图3-90 “连接字符串生成器”对话框
弹出图3-91 所示的查询属性窗口,此时已经自动添加了ODBC连接字符串。
图3-91 查询属性
关闭查询属性窗口,在 SQL传递查询窗体中重输入查询命令,如图3-92所示。
图3-92 SQL传递查询窗口
单击工具栏上的“视图”按钮,或“运行”按钮切换到“数据表”视图,就可以看到查询结果了,如图3-93所示。
图3-93 查询结果
3.创建数据定义查询
学习提示
【掌握】创建数据定义查询
数据定义查询包括创建表、添加字段、删除表及创建索引等。请参照第1章相关内容。
【例3-17】 利用数据定义查询,建立一个“部门”表,并为“部门号”建立一个索引。
打开查询“设计”视图,关闭“显示表”对话框。
执行“查询”➝“SQL特定查询”➝“数据定义”菜单命令,将设计视图转换为SQL数据定义查询编辑窗口。
在此窗口中输入SQL语句:
CREATE TABLE部门
([部门号] TEXT,[部门名] TEXT)
单击工具栏中的“运行”按钮,生成一个“部门”表。
保存并关闭数据定义窗口,创建SQL数据定义查询,在查询窗口中输入SQL语句并运行:
CREATE INDEX索引 ON部门([部门号])
(1)使用Create语句操作数据库。
Create语句用于创建表和索引。
【格式】
【说明】
【例3-18】 使用Create语句,创建一个“教师”数据表。
打开查询“设计”视图,转换到SQL视图中,并输入创建表的语句:
Create Table 教师(姓名 Char(12),职工号 Char(10)Not Null Unique,
性别 Char(4),家庭住址 Char(50),出生日期 Date,月收入 Money)
单击工具栏上的“运行”按钮后,自动在当前数据库中创建“教师”数据表,如图3-94所示。
图3-94 Create语句创建的表
(2)使用Alter语句操作数据库。
Alter语句用于向创建表中添加字段。
【格式】
【说明】
【例3-19】 使用Alter语句,为“教师”数据表添加“备注”字段。
打开查询“设计”视图,转换到SQL视图中,并输入创建表的语句:
Alter Table 教师 Add备注 Memo
单击工具栏上的“运行”按钮后,自动在当前数据库中“教师”数据表中添加“备注”字段,如图3-95所示。
图3-95 Alter语句的结果
(3)使用Drop语句操作数据库。
Drop Table:用于删除数据表、索引和视图。
【格式】
【例3-20】 使用Drop语句,删除创建好的“教师”数据表。
打开查询“设计”视图,转换到SQL视图中,并输入创建表的语句:
Drop Table 教师
单击工具栏上的“运行”按钮后,自动删除“教师”数据表。
4.创建子查询
子查询是嵌套在其他查询中的查询,它不能作为单独的查询独立存在,必须与其他查询相结合。
【例3-21】 查询并显示“成绩”表中高于平均成绩的学生记录。
打开“学生管理”数据库,选择“查询”对象,打开查询“设计”视图打开“显示表”对话框,添加“成绩”表。
双击字段列表中的“成绩.*”,然后再双击“成绩”字段;取消“成绩”字段的显示,在“成绩”字段的“条件”栏中输入“>( SELECT AVG( [成绩] ) FROM [成绩] )”,如图3-96所示。
单击“运行”按钮,查询结果如图3-97所示。
图3-96 设计子查询
图3-97 查询结果
单击“保存”按钮,将查询保存为“子查询”。
请注意
子查询的Select语句不能定义联合查询或交叉表查询。
3.7 编辑和使用查询
在实际应用中,常常需要根据实际情况修改、编辑已经创建的查询,如调整列宽,编辑字段、数据源,对查询结果进行排序等,以使查询满足用户需要。本节将详细介绍一些常用的操作。
3.7.1 运行已创建的查询
在创建查询时,用户可使用工具栏上的“运行”按钮 和“视图”按钮 看到查询结果。创建查询后,可用以下两种方法实现。
(1)在“数据库”窗口中单击“查询”对象,选中要运行的查询,然后单击“打开”按钮 。
(2)在“数据库”窗口中单击“查询”对象,然后双击要运行的查询。
3.7.2 编辑查询中的字段
学习提示
【掌握】添加、删除及移动查询中的字段
在查询“设计”视图中,可以在原有的基础上,对字段进行增加、删除和移动操作。
【例3-22】 在查询“设计”视图中,将“学生”数据表和“成绩”数据表中的字段添加到“学生成绩查询”中。
在“学生管理”数据库窗口的“对象”列中选择“查询”对象,选择需要修改的“学生成绩查询”。
单击工具栏上的“设计”按钮 ,打开“学生成绩查询”设计视图窗口。
双击关系窗口中的表的字段,进行字段添加,如图3-98所示。
单击工具栏上的“保存”按钮 ,并单击“查询设计”工具栏上的“运行”按钮 ,弹出添加字段查询的数据记录,结果如图3-99所示。
图3-98 添加字段
图3-99 添加字段数据结果
【例3-23】 在查询“设计”视图中,删除“学生”数据表中的“成绩”和“籍贯”字段。
在“学生管理”数据库窗口的“对象”列中选择“查询”对象,选择所需要的修改“学生成绩查询”的查询。
单击工具栏上的“设计”按钮 ,打开“学生成绩查询”设计视图窗口。
在查询“设计”视图的设计网格中选中“成绩”和“籍贯”字段的选择器,进行拖动,如图3-100所示。
图3-100 选择字段拖动
按键盘上的<Delete>键或执行“编辑”➝“删除列”菜单命令。
单击工具栏上的“保存”按钮 ,保存对字段的删除修改,并单击“查询设计”工具栏中的“运行”按钮,得到删除字段后的记录集。
【例3-24】 在查询“设计”视图中移动“学生”数据表中的“家庭住址”字段。
在“学生管理”数据库窗口的“对象”列中选择“查询”对象,选择所需要的修改“学生成绩查询”的查询。
在查询“设计”视图网格中选择要移动的“家庭住址”字段。
选中“家庭住址”字段的选择器,进行拖动,如图3-101所示。
图3-101 选择字段移动
单击工具栏上的“保存”按钮 ,保存对字段的移动修改,并单击“查询设计”工具栏中的“运行”按钮,得到修改后的记录集。
3.7.3 编辑查询中的数据源
学习提示
【掌握】编辑查询中的数据源
编辑查询中的数据源包括添加表或查询、删除表或查询,下面我们将介绍这两种数据源的编辑。
1.添加表或查询
在“设计”视图中添加表或查询的步骤如下。
在数据库窗口的“查询”对象下单击要修改的查询,切换至“设计”视图。
单击工具栏上的“显示表”按钮 ,打开图3-102所示的“显示表”对话框,选择需要添加的表或查询,单击“添加”按钮。
图3-102 “显示表”对话框
单击“关闭”按钮,关闭“显示表”对话框。
单击工具栏中的“保存”按钮,保存所做的修改。
2.删除表或查询
在“设计”视图中删除表或查询的步骤与添加的步骤相似。
在数据库窗口的“查询”对象下单击要修改的查询,切换至“设计”视图。
选择需要删除的表或者查询,单击<Delete>键删除。
单击工具栏中的“保存”按钮,保存所做的修改。
3.7.4 排序查询结果
在实际应用过程中,有时候需要按一定规则对查询结果进行排序,下面将以实例介绍基本步骤。
【例3-25】 对“学生管理”数据库中的“课程查询”,按“成绩”字段升序排序。
打开“学生管理”数据库中的“课程查询”,单击鼠标右键,在图3-103所示的快捷菜单中选择“查询设计”命令;切换至“设计”视图,如图3-104所示。
图3-103 选择“查询设计”
图3-104 “设计”视图
如图3-105所示,在“设计”视图中的成绩字段的“排序”栏中选择“升序”项。
图3-105 选择排序方法
单击“运行”按钮 ,运行排序后的窗体如图3-106所示。
图3-106 运行排序的结果
通过对查询结果进行排序,可以使查询结果更加一目了然,方便用户使用和查找。
课后总复习
一、选择题
1.在Access数据库中使用向导创建查询,其数据可以来自( )。
A)多个表 B)一个表 C)一个表的一部分 D)表或查询
2.若查询的设计如下,则查询的功能是( )。
A)设计尚未完成,无法进行统计 B)统计班级信息仅含Null(空)值的记录个数
C)统计班级信息不包括Null(空)值的记录个数 D)统计班级信息包括Null(空)值全部记录个数
3.下列SQL查询语句中,与下面查询设计视图所示的查询结果等价的是( )。
A) SELECT姓名,性别,所属院系,简历 FROM tStud
WHERE性别="女"AND 所属院系 IN("03","04")
B) SELECT姓名,简历 FROM tStud
WHERE性别="女"AND 所属院系 IN("03","04")
C) SELECT姓名,性别,所属院系,简历 FROM tStud
WHERE性别="女"AND 所属院系 ="03"OR所属院系 = "04"
D) SELECT姓名,简历 FROM tStud
WHERE性别="女"AND 所属院系 ="03"OR所属院系 ="04"
4.下列关于操作查询的叙述中,错误的是( )。
A)在更新查询中可以使用计算功能 B)删除查询可删除符合条件的记录
C)生成表查询生成的新表是原表的子集 D)追加查询要求两个表的结构必须一致
5.将表A的记录添加到表B中,要求保持表B中原有的记录,可以使用的查询是( )。
A)选择查询 B)追加查询 C)更新查询 D)生成表查询
6.假设“公司”表中有编号、名称、法人等字段,查找公司名称中有“网络”二字的公司信息,正确的命令是( )。
A) SELECT* FROM 公司 FOR名称 = "* 网络* "
B) SELECT* FROM 公司 FOR名称 LIKE"* 网络* "
C) SELECT* FROM 公司 WHERE名称 = "* 网络* "
D) SELECT* FROM 公司 WHERE名称 LIKE"* 网络* "
7.在SQL语言的SELECT语句中,用于指明检索结果排序的子句是( )。
A) FROM B) WHILE C) GROUP BY D) ORDER BY
8.在书写查询准则时,日期型数据应该使用适当的分隔符括起来,正确的分隔符是( )。
A)* B)% C)& D) #
9.如果在查询条件中使用通配符“[]”,其含义是( )。
A)错误的使用方法 B)通配任意长度的字符
C)通配不在括号内的任意字符 D)通配方括号内任一单个字符
10.查询“书名”字段中包含“等级考试”字样的记录,应该使用的条件是( )。
A) Like "等级考试" B) Like "* 等级考试"
C) Like "等级考试* " D) Like "* 等级考试* "
11.若在查询条件中使用了通配符“!”,它的含义是( )。
A)通配任意长度的字符 B)通配不在括号内的任意字符
C)通配方括号内列出的任一单个字符 D)错误的使用方法
12.在数据表的“查找”操作中,通配符“ -”的含义是( )。
A)通配任意多个减号 B)通配任意单个字符
C)通配任意单个运算符 D)通配指定范围内的任意单个字符
13.在成绩中要查找成绩≥80且成绩≤90的学生,正确的条件表达式是( )。
A)成绩 Between 80 And 90 B)成绩 Between 80 To 90
C)成绩 Between 79 And 91 D)成绩 Between 79 To 91
14.在Access中已经建立了“学生”表,若查找“学号”是“S00001”或“S00002”的记录,应在查询设计视图的“条件”行中输入( )。
A)"S00001"and"S00002" B) not("S00001"and"S00002")
C) in("S00001","S00002") D) not in("S00001", "S00002")
15.创建参数查询时,在查询设计视图条件行中应将参数提示文本放置在( )。
A){}中 B) ()中 C) [ ]中 D) < >中
16.如果在数据库中已有同名的表,要通过查询覆盖原来的表,应该使用的查询类型是( )。
A)删除 B)追加 C)生成表 D)更新
17.若要将“产品”表中所有供货商是“ABC”的产品单价下调50,则正确的SQL语句是( )。
A) UPDATE产品 SET单价=50 WHERE供货商="ABC"
B) UPDATE产品 SET单价=单价-50 WHERE供货商="ABC"
C) UPDATE FROM 产品 SET单价=50 WHERE供货商="ABC"
D) UPDATE FROM 产品 SET单价=单价-50 WHERE供货商="ABC"
18.在SQL查询中“GROUP BY”的含义是( )。
A)选择行条件 B)对查询进行排序
C)选择列字段 D)对查询进行分组
二、操作题
考生文件夹下有一个数据库文件“samp2.mdb”,其中存在已经设计好的表对象“tStud”、“tCourse”、“tScore”和“tTemp”。请按以下要求完成设计。
(1)创建一个查询,当运行该查询时,应显示参数提示信息“请输入爱好”,输入爱好后,在简历字段中查找具有指定爱好的学生,显示“学号”、“姓名”、“性别”、“年龄”和“简历”等5个字段的内容,并将查询命名为“qT1”。
(2)创建一个查询,查找学生的成绩信息,并显示为“学号”、“姓名”和“平均成绩”等3列内容,其中“平均成绩”一列数据由计算得到,然后将查询命名为“qT2”。
( 3 )创建一个查询,查找没有任何选课信息的学生,并显示其“学号”和“姓名”两个字段的内容,然后将查询命名为“qT3”。
(4)创建一个查询,将表“tStud”中男学生的信息追加到“tTemp”表对应的“学号”、“姓名”、“年龄”、“所属院系”和“性别”等字段中,然后将查询命名为“qT4”。
学习效果自评
本章介绍了条件查询、交叉表查询、参数查询、操作查询、SQL查询等查询的建立,同时也介绍了在查询中计算及编辑查询。这些内容是上机考试的常考题,也是本书的重点及难点,望考生熟练掌握及灵活应用。