ACCESS数据查询.ppt_第1页
ACCESS数据查询.ppt_第2页
ACCESS数据查询.ppt_第3页
ACCESS数据查询.ppt_第4页
ACCESS数据查询.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

第4章数据查询,4.1查询简述4.2使用向导创建查询4.3自己设计查询4.4查询实例4.5利用查询实现对表数据的修改4.6SQL查询4.7对查询结果的处理,4.1查询简述,1.什么是查询查询是按照一定的条件或要求对数据库中特定数据信息的查找。查询可以对一个数据库中的一个表或多个表中存储的数据信息进行查找、统计、计算、排序等。查询的结果可以作为窗体、报表、数据访问页或另一个查询的数据源。,4.1查询简述,Access的查询有三种视图模式:,设计视图,数据表视图,SQL视图,4.1查询简述,2.Access的查询类型Access支持以下5种类型的查询:选择查询参数查询交叉表查询操作查询SQL查询。,4.2使用向导建立查询,Access提供了多种向导以方便查询的创建。对于初学者来说,选择使用向导的帮助可以快捷地建立所需要的查询。,4.2使用向导建立查询,1.使用简单查询向导例:在“教学管理”数据库中新建教师基本情况的查询,4.2使用向导建立查询,2使用交叉表查询向导交叉表查询以水平方式和垂直方式对记录进行分组,并计算和重构数据,可以简化数据分析。交叉表查询计算数据总和、计数、平均值以及其他类型的综合计算。通过交叉表查询可以在一个数据表中以行标题将数据组成群组,按列标题来分别求得所需汇总的数据(如总和或平均值),然后在数据表中以表格的形式显示出来。,4.2使用向导建立查询,例:在“教学管理”数据库中迅速建立这样一个查询:“学生中各民族的男女生的人数”,4.2使用向导建立查询,3使用查找重复项查询向导查找重复项查询向导可以对数据表中某些具有相同的字段值的记录进行检索、分类例:查找“教师中各种职称的人数”,4.2使用向导建立查询,4查找不匹配项查询向导查找不匹配项查询向导可以在一个表中查找与另一个表中没有相关记录的记录。例:完成“没有选课的学生”的查询,4.3自己设计查询,1查询的设计视图,“字段”查询中所使用的字段的名称“表”该字段所来自的数据对象(表或查询)“排序”确定是否按该字段排序以及按何种方式排序“显示”确定该字段是否在查询结果集中可见“条件”用来指定该字段的查询条件“或”用来提供多个查询条件,4.3自己设计查询,查询目标的确定在查询中显示的字段值可以是原表的字段值,也可以是经过字段表达式计算的结果,课程安排:第例:将“学生“表中的”姓名”列增加到12个字符的宽度ALTERTABLE学生MODIFY(姓名CHAR(12);,4.6SQL查询,(3)删除基本表语句格式:DROPTABLE表名;注意:删除基本表后,基本表的定义、表中数据、索引都被删除。例:删除“学生”表DROPTABLE学生;,4.6SQL查询,(4)建立索引语句格式:CREATEUNIQUE/DISTINCTINDEX索引名ON表名(列名ASC/DESC,列名ASC/DESC)说明:UNIQUE(DISTINCT):惟一性索引,不允许表中不同的行在索引列上取相同值。若已有相同值存在,则系统给出相关信息,不建此索引。系统并拒绝违背惟一性的插入、更新。ASC/DESC选项指定索引排序升序或降序,不指定顺序,索引按升序排列。例:在“学生”表的“学号”列上建立名为“学号INX”的惟一索引。CREATEUNIQUEINDEX学号INXON学生(学号);,4.6SQL查询,(5)删除索引语句格式:DROPINDEX索引名例:删除建立在学号的索引DROPINDEX学号INX,4.6SQL查询,4SQL的数据查询功能数据库查询是数据库的核心操作,SQL语言提供了SELECT语句进行数据查询。该语句的功能强,变化形式较多。SELECT查询语句格式如下:SELECTDISTINCT,(查询的结果的目标列名表)FROM,(要操作的关系表或查询名)WHERE(查询结果应满足选择或联接条件)GROUPBY,HAVING(对查询结果分组及分组的条件)ORDERBYASC|DESC(对查询结果排序),4.6SQL查询,()简单查询例:查找成绩在70到80分之间的学生选课情况SELECT*FROM选课WHERE成绩BETWEEN70AND80;,4.6SQL查询,例:查找出所有姓李的学生的情况SELECT*FROMSWHERESNAMELIKE李%;注意:在SQL语言中字符“%”代表任意一串字符,“_”代表任意一个字符。在Access2003中用“*”代表任意一串字符,“?”代表任意一个字符。,4.6SQL查询,(2)连接查询一个查询同时涉及两个以上的表时,称其为连接查询。例:查询数学系、计算机系、电子工程系的学生的姓名、系名称SELECT姓名,系名称FROM学生,系科WHERE学生.系号=系科.系号And系名称IN(数学系,计算机系,电子工程系);注意:用“学生.系号=系科.系号”指明两个表的联接条件;“系名称IN(数学系,计算机系,电子工程)”为选择条件。,4.6SQL查询,例9检索计算机系的学生的学号,姓名,年龄SELECT学号,姓名,(Date()-出生日期)/365As年龄FROM学生,系科WHERE学生.系号=系科.系号And系名称=计算机系;注意:”(Date()-出生日期)/365”为年龄的字段表达式。,4.6SQL查询,(3)嵌套查询一个查询语句的WHERE子句中包含一个由比较符号或谓词引导查询语句时,称查询为嵌套查询,被嵌入的查询称为子查询。可以引导子查询的谓词有:IN、ANY、ALL、EXISTS。例:找出年龄小于李芳的学生姓名SELECT姓名FROM学生WHERE出生日期(SELECT出生日期FROM学生WHERE姓名=李芳);注意:使用比较符引导的子查询,查询的结果必须为惟一值。,4.6SQL查询,例:求选修了C程序设计课程的所有学生的学号SELECT学号FROM选课WHERE课程号IN(SELECT课程号FROM课程WHERE课程名称=C程序设计);注意:本例为嵌套查询-带有子查询的SELEC语句。,4.6SQL查询,例:找出学习TC02课程的学生姓名.SELECT姓名FROM学生WHEREEXISTS(SELECT*FROM选课WHERE学号=学生.学号AND课程号=TC02);注意:本例使用EXISTS(量词)的嵌套查询,4.6SQL查询,(4)使用聚集函数的查询在查询中使用聚集函数,可以对查询的结果进行统计计算。常用五个的聚集函数:平均值:Avg总和:Sum最小值:Min最大值:Max计数:Count,4.6SQL查询,例:求学号为011534的学生的总分和平均分SELECTSum(成绩)AS总分,Avg(成绩)AS平均分FROM选课WHERE学号=011534;注意:本例使用了统计函数Sum(总和)和Avg(平均)例:求至少选修三门以上课程的学生的学号及选课门数SELECT学号,COUNT(*)as选课门数FROM选课GROUPBY学号HAVINGCOUNT(*)3;注意:分组带有附加条件。每个组的记录条数大于3。,4.6SQL查询,(5)集合查询集合查询是将多个Select语句的结果进行集合操作构成一个查询例:查询女学生及选课成绩大于80的学生的学号Select学号From学生Where性别=女UnionSelect学号From选课Where成绩80,4.6SQL查询,5SQL的数据更新功能SQL中数据更新包括插入数据、修改数据和删除数据三条语句,(1)插入数据语句格式1:INSERTINTO(,)VALUES(常量,常量.);说明:该语句一次完成一个记录的插入。语句格式2:INSERTINTO(,)子查询;说明:子查询嵌入INSERT语句,查询的结果插入到表中。即一次完成批量记录数据的插入。,4.6SQL查询,例:向学生表插入数据INSERTINTO学生(学号,姓名,系号)VALUES(031510,李新,15);例:将系号为15的全体学生选修C程序设计课程的信息添入选课表.INSERTINTO选课(学号,课程号,成绩)SELECT学号,课程号,NullFROM学生,课程WHERE系号=15And课程名称=C程序设计;,4.6SQL查询,(2)删除数据语句格式:DELETEFROMWHERE说明:无WHERE子句时,表示删除表中的全部数据.WHERE子句中可以带子查询.例:删除学号为001155的学生记录DELETEFROM学生WHERE学号=001155;例:删除系号为1的所有学生的选课记录DELETEFROM选课WHERE1=(SELECT系号FROM学生WHERE学生.学号=选课.学号);,4.6SQL查询,(3)修改数据语句格式:UPDATESET=|,=|.WHERE;说明:修改时,对满足条件表达式的行,将用表达式的值或子查询的结果(唯一值)替换相应列的值。例:将选课表中的所有选修TC04课程的学生成绩提高5分UPDATE选课SET成绩=成绩+5WHERE课程号=TC04;例:将系号为1的全体学生的TC02课程成绩置0.UPDATE选课SET成绩=0WHERE课程号=TC02And学号IN(SELECT学号FROM学生WHERE系号=1And学生.学号=选课.学号);,4.6SQL查询,6SQL特定查询在Access中将通过SQL语句才能实现查询称为SQL特定查询。SQL特定查询可以分为四类:联合查询、传递查询、数据定义查询和子查询。,4.6SQL查询,(1)联合查询联合查询是将两个查询的结果集合并在一起,对两个查询要求是:查询结果的字段名、类型相同,字段排列的顺序一致。例:查找选修课程号为TC02或其他选课成绩高于85分的学号,课程号,成绩。,4.6SQL查询,(2)数据定义查询数据定义查询是直接使用SQL语句来创建、删除或更改表的定义,或者为数据库的表建立索引。每个数据定义查询只能由一个数据定义语句组成。CREATETABLE语句创建表,ALTERTABLE语句在已有的表中添加新的字段。DROPTABLE语句删除表,CREATEINDEX语句为表创建索引,DROPINDEX语句删除索引,,4.6SQL查询,(3)传递查询传递查询将SQL命令直接送到SQL数据库服务器(如:SQLServer、Oracle等)。这些数据库服务器通常被称作系统的后端,而Access作为前端或客户工具。传递的SQL命令要使用特殊服务器要求的语法,可以参考相关的SQL数据库服务器文档。,4.6SQL查询,(4)子查询子查询是指在设计的一个查询中可以在查询的字段行或条件行的单元格中创建一条SQLSELECT语句。SELECT子查询语句放在字段行单元格里的创建一个新的字段,SELECT子查询语句放在条件行单元格的作为限制记录的条件。例:查找学习课程成绩分数高于平均分的学生的学号和姓名及课程名称。,4.6SQL查询,4.7对查询结果的处理,1打印查询结果创建了查询后,可以将查询的结果(动态集)以数据表的形式打印出来。操作步骤如下:(1)选择要打印结果的查询,单击数据库窗口上的“打开”按钮,使查询显示为查询的数据表视图状态。(2)单击“文件”菜单上的“打印”命令,在“打印”对话框中指定所要的打印选项。(3)确定打印机已经连接好并已经开机后,单击“打印”对话框中的“确定”按钮即可打印出结果。,4.7对查询结果的处理,2将对表的筛选操作存为查询前面已经介绍了有关表的筛选的内容,表的筛选结果也可以存为查询。操作步骤如下:(1)打开一个表并作好一个筛选设置。(2)单击工具栏上的“另存为查询”按钮。(3)在弹出的对话框中输入查询的名字,单击“确定”,筛选就被存为一个查询了。,本章小结,在本章中内容分为以下内容:第一部分介绍了如何使用向导创

温馨提示

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

评论

0/150

提交评论