第6章数据查询_第1页
第6章数据查询_第2页
第6章数据查询_第3页
第6章数据查询_第4页
第6章数据查询_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章数据查询第6章数据查询

3第6章数据查询创建选择查询2创建其他类型的查询7创建操作查询5创建参数查询4SQL查询6查询的种类1创建交叉表查询346.1查询的种类1、种类

以是否更改数据表中的记录数据为标准,把查询分为选择查询和操作查询两大类。选择查询对记录数据进行检索、排序、统计、汇总,没有改变数据表中的记录数据;操作查询以一批记录的形式进行追加、更新和删除,改变数据表中的记录数据。选择查询、交叉表查询、参数查询都属于选择查询,而操作查询又可分成生成表查询、追加查询、更新查询和删除查询四种。而选择查询和操作查询都可以是带有参数的。2、查询的实现方法

1)利用查询向导;

2)利用查询设计视图;

3)使用SQL查询语句。56.1查询的种类选择查询

最常用的查询。可对查询结果进行分组、统计等操作。交叉表查询需要分析数据时,请选用交叉表查询。参数查询实现交互查询。操作查询可实现对记录的删除、更新、添加操作,改变数据表中的记录数据,可把查询结果保存于一个新的数据表中。SQL查询使用SQL语句所实现的查询。66.2创建选择查询选择查询是最常见的查询类型,它对记录数据进行检索、排序、统计、汇总,并显示结果。选择查询没有改变数据表中的记录数据。76.2创建选择查询1、使用向导创建选择查询(1)打开数据库;(2)单击“查询”对象,双击“使用向导创建查询”;(3)选择要查询的字段;(4)如果查询字段中有数字型字段,确定选择明细查询还是汇总查询;(5)给出查询名称;(6)单击“完成”。86.2创建选择查询例:在学生表和成绩表中明细地查询学生记录。(两个表要先建立关系)96.2创建选择查询例:在“成绩表”中汇总地查询各门课程的平均值、最大值和最小值。106.2创建选择查询2、在设计视图中创建查询(1)打开数据库;(2)单击“查询”对象,双击“在设计视图中创建查询”;(3)添加相关的表;(4)选择要查询的字段,必要时给出排序顺序、查询条件等;(5)运行查询,必要时可查看自动生成的SQL命令(6)给出查询名称,保存。116.2创建选择查询例:在学生表中查询所有学生的信息,包括所有字段。SELECT学生表.*FROM学生表;126.2创建选择查询例:查询所有学生的学号、姓名、课程编号、成绩。SELECT学生表.学号,学生表.姓名,成绩表.课程编号,成绩表.成绩FROM学生表INNERJOIN成绩表ON学生表.学号=成绩表.学号;136.2创建选择查询例:查询全体学生姓名、出生年月,结果按出生年月的降序排列。SELECT学生表.姓名,学生表.出生年月FROM学生表ORDERBY学生表.出生年月DESC;146.2创建选择查询例:查询成绩表中成绩大于等于70小于等于80的学生。BETWEEN运算符156.2创建选择查询例:查询信息系、数学系的学生学号、姓名、所在系。也可以用集合运算符in:

in(“信息”,“数学”)166.2创建选择查询例:在“学生表”中查询姓“李”及姓“张”的记录。模糊运算符LIKE。常用的通配符有“*”和“?”176.2创建选择查询例:在“学生表”中查询不是姓“李”的记录。notlike"李*"186.2创建选择查询例:在“学生表”中查询学号第3、4位是02的记录。196.2创建选择查询例:查询信息系成绩80分以上的学生记录。同行的条件之间存在“同时满足”(与)的关系。206.2创建选择查询例:查询籍贯是上海或所在系是计算机的学生记录。不同行的条件存在“只要满足其一”(或)的关系216.2创建选择查询例:查询1983年下半年出生的学生记录。(查询是团员或不是团员,可用true、false)226.2创建选择查询例:查询有照片的学生记录。NotIsNullIsNull(查询出生日期、民族、所在系未知的记录用同样方法)236.2创建选择查询例:根据学生表统计学生人数。有关统计的题目,先用以下方法之一在查询设计视图的下半部分中增加总计项。视图总计,选择“计数”项用工具栏中的在查询设计视图的下半部分中,右击,再选择“总计”246.2创建选择查询命令选项功能分组相当于SQL中的GROUPBY语句,定义要执行计算的组总计相当于求和函数SUM,返回字段值的总和,可用于数字、日期/时间、货币和自动编号类型的字段平均值相当于合计函数Avg,返回字段的平均值,可用于数字、日期/时间、货币和自动编号类型的字段最小值相当于合计函数Min,返回字段的最小值,可用于文本、数字、日期/时间、货币和自动编号类型的字段最大值相当于合计函数Max,返回字段的最大值,可用于文本、数字、日期/时间、货币和自动编号类型的字段计数相当于合计函数Count,返回字段的数量,不包括NULL值,可用于文本、备注、数字、日期/时间、货币、自动编号、是/否和OLE对象类型的字段256.2创建选择查询命令选项功能标准差相当于StDev函数,返回字段的标准偏差值,可用于数字、日期/时间、货币和自动编号类型的字段方差相当于Var函数,计算字段的方差,可用于数字、日期/时间、货币和自动编号类型的字段第一条记录相当于First函数,返回与函数中所列出的条件匹配的第一个数据项最后一条记录相当于Last函数,返回与函数中所列出的条件匹配的最后一个数据项表达式相当于SQL中的EXPRESSION语句,创建表达式中包含合计函数的计算字段条件相当于SQL中的WHERE语句,指定不用于分组的字段条件266.2创建选择查询例:在成绩表中查询所有记录的平均成绩。例:在成绩表中查询各门课程的平均成绩、最高分和最低分。276.2创建选择查询例:成绩表中每个记录的成绩都加10分,查询加分后的结果。286.3创建交叉表查询目的:对数据实施统计1、使用交叉表查询向导创建查询

(1)在数据库窗口的“对象”选项组中单击“查询”,然后单击“新建”按钮。

(2)选择“交叉表查询向导”,然后单击“确定”按钮

(3)在接着弹出的对话框中选择数据源。(4)单击“下一步”按钮,设置行字段。(5)单击“下一步”按钮,设置列标题。(6)单击“下一步”按钮,确定为每个列和行的交叉点计算出什么数字,即设置统计项,选择统计类型。

29(7)单击“下一步”按钮,定义新生成查询的名字,选中“查看查询”。(8)单击“完成”按钮,交叉表建立完成,系统自动弹出其查询数据表视图。6.3创建交叉表查询306.3创建交叉表查询指定数据源(表或查询)、行标题、列标题、统计项和统计类型。统计项一般是数字型的。统计类型包括:stdev(标准差)、var(方差)、第一项、最后一项、计数、求和、平均、最大值和最小值等。例:建立按性别统计各系人数的交叉表查询。行标题:所在系列标题:性别统计项:学号统计类型:计数316.3创建交叉表查询教材例子:实现查询每个学生的各科成绩,并显示出每个学生的最低成绩(最高成绩可用最后一条记录)。行标题:学号列标题:课程编号统计项:成绩统计类型:第一条记录

326.3创建交叉表查询2、在设计视图中创建交叉表查询(1)打开数据库;(2)单击“查询”对象,双击“在设计视图中创建查询”;(3)选择查询数据源,右击,选择查询类型为交叉表查询;(4)指定查询字段,设置行标题和列标题及交叉表中显示其值的字段;(5)若要进行统计(如总计/求和、平均值、第一个记录、最后一个记录、计数等),还必须在设计视图中加入一个统计列,该列的字段为统计字段,并选择统计类型,而其交叉表行中应填入“行标题。(6)给出查询名称,保存。336.3创建交叉表查询教材例子:实现查询每个学生的各科成绩。346.3创建交叉表查询教材例子:实现查询每个学生的各科成绩。356.3创建交叉表查询实验二第8题:打开学生2.mdb,以“学生成绩查询2”为数据源,创建一个交叉表查询,要求用“学号”和“姓名”作为行标题,用“课程名”字段作为列标题,在行列交叉处显示各门课程的总评成绩的总和。(如果是求平均分、最高分、最低分,只要后面两列中的总计改为相应的就可以了。)366.4创建参数查询打开数据库,在设计视图中新建查询。

创建过程中,必须选择查询数据源,指定查询字段,在“条件”单元格中输入包含有参数的条件式。此时,参数的出现形式为:用成对的[]括住参数输入框之框体提示文字。【例g】针对成绩表创建参数查询,以学号来查询学生的情况。376.4创建参数查询动手练一练:针对成绩表创建参数查询,查询出高于某个成绩值的学生记录。在成绩字段的条件框中输入:>[请输入某个成绩:]【例h】针对学生表创建参数查询,查询出生年月在某个日期段(从日期1到日期2)的学生记录。BETWEEN[请输入起始日期:]AND[请输入结束日期:]动手练一练:针对学生表创建参数查询,查询出某两个学号的学生情况。[请输入一个学号:]OR[请输入另一个学号:]386.4创建参数查询【例i】针对学生表创建参数查询,查询出某个姓的学生记录。like[请输入所包含的字:]&”*”

396.5创建操作查询

操作查询包括删除查询、更新查询、追加查询和生成表查询四种。1、删除查询——用于删除记录打开查询设计视图,加入数据源,选定跟条件相关的查询字段,并指定查询类型为“删除查询”,必要时在“条件”单元格中输入条件,便可把指定数据源中满足条件的记录删除掉。不指定条件时,则删除所有记录。406.5创建操作查询【例j】针对学生表创建操作查询,删除学号为040202的学生记录。学号字段的条件框:040202

DELETEFROM学生表WHERE学号=“040202”动手练一练:针对学生表创建操作查询,删除“罗”姓或“张”姓的学生记录。姓名字段的条件框:LIKE“罗*”

ORLIKE“张*”DELETEFROM学生表WHERE姓名LIKE“罗*”

OR姓名LIKE“张*”416.5创建操作查询创建带参数的删除查询:426.5创建操作查询2、更新查询——用于更新记录打开查询设计视图,加入数据源,选定跟条件相关的查询字段及要更新的字段,并指定查询类型为“更新查询”,必要时在“条件”单元格中输入条件,便可把指定数据源中满足条件的记录中的指定字段值更新为指定的值。不指定条件时,则更新所有记录。436.5创建操作查询【例k】针对成绩表创建操作查询,为课程编号为01-03的学生的成绩加2分。操作方法:添加数据源成绩表,指定查询类型为更新查询,并在字段框中添加跟条件相关的课程编号字段及要更新的成绩字段,然后在课程编号字段的条件框中输入:01-03;在成绩字段的更新到框中输入:[成绩]+2;相应的SQL语句为:UPDATE成绩表SET成绩=成绩+2WHERE课程编号=“01-03”446.5创建操作查询动手练一练:先为成绩表添加“及格否”字段:是/否型,然后针对成绩表创建操作查询,当成绩不低于60时,“及格否”字段的值为“yes”。打开成绩表的设计视图,新增字段“及格否”,关闭设计视图。在查询设计视图中创建操作查询,指定数据源和查询类型,加入与条件相关的”成绩“字段及与更新操作相关的“及格否”字段,在”成绩“字段的条件框中输入>=60,在“及格否”字段的更新到框中输入“yes”。UPDATE成绩表SET及格否=-1WHERE成绩>=60456.5创建操作查询3、插入查询——用于追加记录

可把一个数据表(源表)的指定字段值添加到另一个数据表(目标表)的相应字段中。

打开查询设计视图,加入源表,指定查询类型为追加查询,根据提问回答(输入)目标表名。再在字段框中添加源表的相关字段,在追加到框中选择目标表的相应字段,最后关闭设计视图。466.5创建操作查询【例L】创建操作查询,为成绩表追加来自于成绩表1的记录。打开查询设计视图,加入源表:成绩表1,选择查询类型为追加查询并指定目标表:成绩表,在字段框选择成绩表1.*,这时追加到框中会自动填入为成绩表.*,最后关闭设计视图,并回答查询名称。

476.5创建操作查询动手练一练:创建操作查询,把成绩表1中所有学号为040101的记录添加到成绩表中。打开查询设计视图,加入源表:成绩表1,选择查询为追加查询并指定目标表:成绩表,在字段框中加入学号、课程编号和成绩,在追加到框中相应地加入学号、课程编号和成绩,在“学号”列的条件框中输入“040101”,最后关闭设计视图,并回答查询名称。486.5创建操作查询4、生成表查询——把查询结果保存于一数据表中打开查询设计视图,加入数据源,指定查询类型为生成表查询,根据提问回答(输入)用来保存查询结果的目标表名。再在字段框中添加目标表所要包含的字段,并可指定排序依据及查询条件,最后关闭设计视图。生成表查询是在选择查询的基础上,把查询结果保存于一数据表中。496.5创建操作查询【例m】创建操作查询,根据学生表和成绩表查询每个学生的学号、姓名、课程编号和成绩,并把查询结果保存于数据表:学生成绩中。数据源:学生表和成绩表。选择类型为生成表查询并指定用来保存查询结果的目标表:学生成绩,在字段框加入学生表中的学号和姓名字段,以及成绩表中的课程编号和成绩字段,最后关闭设计视图,并回答查询名称;1)SELECTXS.学号,姓名,课程编号,成绩FROM学生表XS,成绩表CJWHEREXS.学号=CJ.学号INTO学生成绩2)SELECTXS.学号,姓名,课程编号,成绩FROM学生表XSINNERJOIN成绩表CJONXS.学号=CJ.学号INTO学生成绩506.5创建操作查询动手练一练:创建操作查询,根据学生表和成绩表查询所有男生的姓名、课程编号和成绩,并把查询结果保存于数据表:男生成绩中,要求查询结果是按成绩降序排列的。打开查询设计视图,加入数据源表:学生表和成绩表,选择查询为生成表查询并指定目标表:男生成绩,再在字段框中加入学生表中的姓名和性别字段,以及成绩表中的课程编号和成绩字段,并取消性别字段的显示状态,在性别字段的条件框中输入“男”,在成绩字段的排序框中选择“降序“,最后关闭设计视图,并回答查询名称。51使用查找不匹配项查询向导创建查询在一个表中查找那些在另一个表中没有相关记录的记录(行)。实验二第7小题:以学生表和成绩表为数据源,建立名为“未选课学生查询”的查询。(1)在数据库窗口的“对象”选项组中单击“查询”,然后单击“新建”按钮。(2)单击“查找不匹配项查询向导”,然后单击“确定”按钮。(3)选择要查找的表,如学生表。52使用查找不匹配项查询向导创建查询(4)单击“下一步”按钮,选择要查找包含相关记录的表,如成绩表。(5)单击“下一步”按钮,选择两个表的公共字段,如学号。(6)单击“下一步”按钮,选择查询结果中将要出现的字段,如学号,姓名。(7)单击“下一步”按钮,为查询命名。(8)单击“完成”按钮,完成查询的创建,系统返回至查询结果。53使用查找重复项查询向导创建查询例:在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论