版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章查询的创建和使用查询概述选择查询的创建在查询中进行计算交叉表查询的创建参数查询的创建操作查询的创建SQL查询的创建运行已建的查询14.1查询概述4.1.1查询的功能问题提出建立数据库的目的是为更好地管理和使用其中的数据,获取有用信息。但数据是分散放在各个表中的,如何有效地获取待查询的信息例如,“张三”的考试成绩?男女同学的人数?24.1查询概述4.1.1查询的功能查询含义查询对象不是数据的集合,而是操作的集合查询的结果是一个数据集,也称为动态集。它很像一个表,但并没有存储在数据库中创建查询后,只保存查询的操作,只有在运行查询时,才会从查询数据源中抽取数据,并创建它;只要关闭查询,查询的动态集就会自动消失34.1查询概述4.1.1查询的功能查询功能选取数据编辑数据实现计算建立新表为窗体和报表提供数据44.1查询概述4.1.2查询的类型选择查询根据指定的查询条件,从一个或多个数据源中获取数据并显示结果;也可以利用查询条件对记录进行分组、并进行求和、、计数、平均值等运算。Access选择查询主要有简单选择查询、统计查询、重复项查询、不匹配项查询等几种类型。54.1查询概述4.1.2查询的类型交叉表查询将来源于某个数据源中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在行与列的交叉处显示某字段的统计值,如合计、统计个数、求最大值和最小值等。64.1查询概述4.1.2查询的类型参数查询利用对话框来提示用户输入查询条件,并根据输入的条件来检索记录。操作查询四种:生成表、删除、更新和追加74.1查询概述4.1.2查询的类型SQL查询是使用SQL语句创建的查询SQL查询中某些SQL查询称为SQL特定查询,包括四种:联合查询、传递查询、数据定义查询和子查询84.2选择查询的创建4.2.1使用查询向导操作者可在向导指示下选择一个或多个数据源、一个或多个字段创建查询使用向导不能创建带条件的查询94.2选择查询的创建4.2.1使用查询向导使用“简单查询向导”
例4-1查找“教师”表中的记录,并显示“姓名”、“性别”、“工作时间”和“系别”等字段信息所建查询数据源来自于一个表例4-2查找每名学生选课成绩,并显示“学生编号”、“姓名”、“课程名称”和“考试成绩”等字段。查询名为“2学生选课成绩”所建查询数据源来自于多个表104.2选择查询的创建4.2.1使用查询向导使用“查找不匹配项查询向导”例4-3判断“学生”表中是否有重名学生,如果有显示“姓名”、“学生编号”、“性别”和“入校日期”,查询名为“3学生重名查询”
根据“查找重复项查询向导”创建的查询结果,可以确定“学生”表中的“姓名”字段是否存在相同的值。114.2选择查询的创建4.2.1使用查询向导使用“查找重复项查询向导”例4-4查找哪些课程没有学生选修,并显示“课程编号”和“课程名称”,保存为“4没有学生选修的课程查询”。124.2选择查询的创建4.2.2使用设计视图
虽然查询向导可以快速、方便地创建查询,但对于有条件的查询需要使用查询设计视图完成。查询设计视图组成134.2选择查询的创建4.2.2使用设计视图步骤添加数据源—表或查询选择查询内容—字段填写查询条件(可选)设置排序(可选)144.2选择查询的创建4.2.2使用设计视图创建不带条件的查询例4-5使用设计视图创建查询,查找并显示授课教师的“系别”、“姓名”、“课程名称”和“学分”,要求按系别从大到小顺序显示.保存“5授课教师查询”.分析:查询用到“系别”、“姓名”、“课程名称”和“学分”等字段分别来自“教师”和“课程”两个表,但两表间没有直接关系,需通过“授课”表建立两表间关系。故应创建基于“教师”、“课程”和“授课”3个表的查询。154.2选择查询的创建4.2.2使用设计视图创建带条件的查询例4-6查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“电话号码”。保存为“61992年参加工作的男教师”。分析:要创建上述查询,需两个条件,一是性别值为“男”,二是工作时间值为1992,且两个字段值均应等于条件给定的值。故两条件是“与”关系164.2选择查询的创建4.2.2使用设计视图创建带条件的查询例4-6查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“电话号码”17例查找年龄小于19岁男生,或大于21岁女生,并显示“姓名”、“性别”、“年龄”4.2选择查询的创建4.2.3查询条件查询条件是指在查询中用于限制检索记录的条件表达式,由运算符、常量、字段值、函数和字段名组成运算符:是构成条件表达式的基本元素。Access提供了四种运算符,分别是算术运算符、关系运算符、逻辑运算符和特殊运算符184.2选择查询的创建4.2.3查询条件运算符算术运算符:+-*/比较运算符:>=<<=<>逻辑运算符:andornot其他:Between…and…,like,in,IsNull,IsNotNull194.2选择查询的创建4.2.3查询条件函数数值函数:Abs,Int,Sqr,……字符函数:Left,Right,Len,…………204.2选择查询的创建4.2.3查询条件设置查询条件时注意日期型数据两边加“#”,字符型数据两边加半角双引号在条件中字段名必须用方括号括起来两个以上条件时,同行相与,异行相或条件中引用表名时,应用方括号括起来,与字段名之间用“!”。如[教师档案表]![姓名]21设置查询条件例如:性别为“男”的教师22设置查询条件例如:高级职称的教师23设置查询条件例如:高级职称的“女”教师24设置查询条件例如:05级学生的成绩假定学号的前四位为年级25设置查询条件例如:没有联系电话的教师26设置查询条件例如:姓“李”的学生27运行已建查询的方法方法1:在导航窗格中,右键单击要运行的查询,然后从弹出的快捷菜单中选择“打开”命令。方法2:在导航窗格中,直接双击要运行的查询。
284.3在查询中进行计算4.3.1查询中的计算功能预定义计算是系统提供的用于对查询中的记录组或全部记录进行的计算包括:合计、平均值、最小值、最大值、计数等自定义计算用一个或多个字段进行数值、日期和文本计算需要在查询设计网格中直接添加字段294.3在查询中进行计算4.3.2总计查询例4-8统计教师人数。304.3在查询中进行计算4.3.2总计查询例4-9统计1992年参加工作的教师人数。314.3在查询中进行计算4.3.2总计查询例4-10在“1992年参加工作人数统计”查询中,将以“教师编号”字段统计的结果显示标题改为“教师人数”。324.3在查询中进行计算4.3.3分组总计计算将记录进行分组,对每个组的值进行统计分组统计时,只要在该字段的“总计”行上选择“分组”就可以了例4-11计算各类职称的教师人数,并显示“职称”和“人数”。334.3在查询中进行计算4.3.4计算字段统计的数据不在表中,或者用于计算的数据值来源于多个字段时例4-12计算每名教师的工龄,并显示“姓名”、“系别”、“职称”和“工龄”。按照题目要求,需将“工龄”设置为计算字段,其值可根据系统当前日期和工作时间计算得出。计算表达式为:Year(Date())-Year([工作时间])。344.3在查询中进行计算4.3.4计算字段统计的数据不在表中,或者用于计算的数据值来源于多个字段时例4-12计算每名教师的工龄,并显示“姓名”、“系别”、“职称”和“工龄”。354.4交叉表查询的创建4.4.1交叉表查询的概念所谓交叉表查询,就是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值与Excel中的数据透视表一样364.4交叉表查询的创建4.4.2使用查询向导例4-14创建一个交叉表查询,统计每班男女生人数。注意:若所建交叉表查询涉及多张表,使用向导时,应先建立多表查询,再建立交叉表查询374.4交叉表查询的创建4.4.3使用设计视图例4-15创建一个交叉表查询,使其显示各班每门课程的总评成绩的平均分。384.5参数查询的创建参数查询的含义利用对话框,提示用户输入参数,并检索符合所输参数的记录或值可以建立一个参数的查询,也可以建立多个参数的查询
394.5参数查询的创建4.5.1单参数查询创建单参数查询,即指定一个参数。在执行单参数查询时,输入一个参数值
例4-16按学生姓名查找某学生成绩,并显示“学生编号”、“姓名”、“课程名称”及“考试成绩”等。40在“姓名”字段的“条件”行单元格中输入:[请输入学生姓名:]4.5参数查询的创建4.5.2多参数查询创建多参数查询,即指定多个参数。在执行多参数查询时,需依次输入多个参数值
例4-17建立一个查询,使其显示某门课程某成绩范围内的学生“姓名”、“课程名称”和“总评成绩”。414.5参数查询的创建在参数查询中,如果要输入的表达式比较长,可在“条件”单元格右键点击,在弹出快捷方式中选择“显示比例”命令,弹出“缩放”对话框,输入表达式。42参数查询提供了一种灵活的交互式查询,但实际数据库开发宏,输入的参数的常常在一个确定的数据集合中。所以常从数据集合选择参数的参数查询常结合窗体使用。后面窗体时会介绍。4.6操作查询的创建操作查询的含义操作查询是指仅在一个操作中更改许多记录的查询例如,在一个操作中删除一组记录,更新一组记录等等434.6操作查询的创建操作查询的类型生成表查询:利用一个或多个表中的数据创建一个新表删除查询:从一个或多个表中删除指定的数据更新查询:对一个或多个表中的记录进行更新追加查询:从一个或多个表中将一组记录追加到另一个或多个表中444.6操作查询的创建注意:操作查询执行后,不能撤消刚刚做过的更改操作454.6操作查询的创建4.6.1生成表查询生成表查询利用一个或多个表中的全部或部分数据创建新表。利用生成表查询建立新表时,如果数据库中已有同名的表,则新表将覆盖该同名的表。注意,利用生成表查询建立新表时,新表中的字段从生成表查询的源表中继承字段名称、数据类型以及“字段大小”属性。但是不继承其它的字段属性以及表的主键。464.6操作查询的创建4.6.1生成表查询例4-18将总评成绩在90分以上的学生信息存储到一个新表中,表名为“90分以上学生情况”,表内容为“学生编号”、“姓名”、“性别”、“年龄”和“考试成绩”等字段。474.6操作查询的创建4.6.2删除查询
删除查询可以从一个或多个表中删除一组记录。使用删除查询,将删除整个记录,而不是只删除记录中所选的字段。如果启用级联删除,则可以用删除查询从单个表中、从一对一关系的多个表中,或一对多关系中的多个表删除相关的记录。
484.6操作查询的创建4.6.2删除查询例4-19将选课成绩表中总评成绩小于60分的记录删除。494.6操作查询的创建4.6.3更新查询更新查询可以对表中的部分记录或全部记录作更改。更新查询用在一次更新一批数据的操作中非常方便。
504.6操作查询的创建4.6.3更新查询例20将所有1988年及以前参加工作的教师职称改为副教授。514.6操作查询的创建4.6.4追加查询
追加查询是将一个或多个表中的一组记录添加到另一个已存在的表的末尾。
要被追加记录的表必须是已经存在的表。这个表可以是当前数据库中的表,也可以是另外一个数据库中的表。524.6操作查询的创建4.6.4追加查询例4-20建立一个追加查询将考试成绩在80~90分之间的学生成绩添加到已建立的“90分以上学生情况”表中。534.7SQL查询的创建54SQL(StructureQueryLanguage)的中文名称为结构化查询语言。SQL是一种专门针对数据库操作的计算机语言。SQL查询是使用SQL语句创建的查询。在Access数据库中,查询对象本质上是一个SQL语言编写的命令。当使用查询的“设计视图”用可视化的方式创建一个查询对象后,系统便自动把它转换为相应的SQL语句保存起来。运行一个查询对象实质上就是执行该查询中指定的SQL命令。4.7SQL查询的创建4.7.1显示SQL语句在Access中,任何一个查询都对应着一条SQL语句。在创建查询时,系统会自动地将操作命令转换为SQL语句,只要打开查询,切换到SQL视图,就可以看到系统生成的SQL语句。554.7SQL查询的创建4.7.2常用SQL语句SQL语句查询:SELECT操纵:INSERT、UPDATE、DELETE定义:CREATE、DROP、ALTER控制:GRANT、REVOTE564.7SQL查询的创建4.7.2常用SQL语句INSERT语句格式:INSERTINTO<表名>[(<字段名1>[,<字段名2>…])]VALUES(<常量1>)[,<常量2>]…);574.7SQL查询的创建4.7.2常用SQL语句INSERT语句例4-22在“授课”表中插入一条新记录(8,105,96011)。INSERTINTO授课VALUES(8,"105","96011");584.7SQL查询的创建4.7.2常用SQL语句UPDATE语句格式:UPDATE<表名>SET<字段名1>=<表达式1>[,<字段名2>=<表达式2>]…[WHERE<条件>];594.7SQL查询的创建4.7.2常用SQL语句UPDATE语句例4-23将“教师”表中“教师编号”为“96011”教师的工作时间改为:1992-2-26。
UPDATE教师SET工作时间=#1992-2-26#WHERE教师编号="96011";604.7SQL查询的创建4.7.2常用SQL语句DELETE语句格式:DELETEFROM<表名>[WHERE<条件>];614.7SQL查询的创建4.7.2常用SQL语句UPDATE语句例4-24将“教师”表中教师编号为“98014”的记录删除。DELETE*FROM教师WHERE教师编号="98014";624.7SQL查询的创建4.7.2常用SQL语句SELECT语句格式:SELECT[ALL|DISTINCT|TOPn]*|[<[字段列表>]…FROM<表名1>[,<表名2>]…[WHERE<条件表达式>][GROUPBY<字段名1>[HAVING<条件表达式>]][ORDERBY<字段名2>[ASC|DESC]];634.7SQL查询的创建4.7.2常用SQL语句SELECT语句例4-25查找并显示“教师”表中“姓名”、“性别”、“工作时间”和“系别”4个字段。
SELECT姓名,性别,工作时间,系别FROM教师;644.7SQL查询的创建4.7.2常用SQL语句SELECT语句例4-26查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“联系电话”。SELECT姓名,性别,学历,职称,系别,电话号码FROM教师WHERE性别="男"ANDYEAR([工作时间])=1992;654.7SQL查询的创建4.7.2常用SQL语句SELECT语句例4-27查找具有高级职称的教师,并显示“姓名”和“职称”。SELECT姓名,职称FROM教师WHERE职称IN("教授","副教授");664.7SQL查询的创建4.7.2常用SQL语句SELECT语句例4-28仅显示年龄排在前5位的学生“姓名”和“年龄”。SELECTTOP5姓名,年龄FROM学生ORDERBY年龄DESC;674.7SQL查询的创建4.7.2常用SQL语句SELECT语句例4-29计算各类职称的教师人数,显示字段名为“各类职称人数”。SELECTCount(教师编号)AS各类职称人数FROM教师GROUPBY职称;684.7SQL查询的创建4.7.3SQL特定查询的创建对于数据定义查询、传递查询、联合查询,不能在设计网格中创建,必须直接在“SQL视图”中创建SQL语句。1联合查询将两个或更多个表或查询中的字段合并到查询结果的一个字段中。使用联合查询可以合并两个表中的数据。694.7SQL查询的创建4.7.3SQL特定查询的创建联合查询格式:SELECTFROM<表名1>[,<表名2>]…[WHERE<条件表达式1>]UNION[ALL]SELECTFROM<表名a>[,<表名b>]…[WHERE<条件表达式2>];704.7SQL查询的创建4.7.3SQL特定查询的创建联合查询例4-30显示“90分以上学生情况”表中所有记录和“学生选课成绩”查询中70分以下的记录,显示内容为“学生编号”、“姓名”、“总评成绩”等3个字段。SELECT学生编号,姓名,考试成绩FROM学生选课成绩WHERE考试成绩<70UNIONSELECT学生编号,姓名,考试成绩FROM90分以上学生情况;714.7SQL查询的创建4.7.3SQL特定查询的创建2数据定义查询可以创建、删除或修改表,也可以在数据库表中创建索引。
CREATE语句
格式:CR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程审计公司保密制度
- 市城投公司绩效考核制度
- 市教育局内部审计制度
- 幼儿教师绩效考核制度
- 应急局培训教育管理制度
- 建立社会责任审计制度
- 成人教育培训退费制度
- 教育培训公司内部工位管理制度
- 教育培训学校奖罚制度
- 教育培训校长提成制度
- 2026年湖北国土资源职业学院单招综合素质考试题库带答案详解
- 2026云南楚雄市司法局第一批司法协理员招聘10人考试参考题库及答案解析
- 2026年及未来5年中国铍行业市场全景监测及投资战略咨询报告
- 2026年辽宁大连市高职单招职业适应性测试试题题库(答案+解析)
- 中小学戏剧表演剧本《茶馆》第一幕
- 安全三类人员教育培训课件
- 湿巾工厂安全培训
- 核电行业防造假管理制度(3篇)
- JJF 1033-2023计量标准考核规范
- 《中国饮食文化》第1章 中国饮食文化的历史发展
- 回顺炮掘工程施工组织设计
评论
0/150
提交评论