ACCESS查询的设计与使用课件_第1页
ACCESS查询的设计与使用课件_第2页
ACCESS查询的设计与使用课件_第3页
ACCESS查询的设计与使用课件_第4页
ACCESS查询的设计与使用课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第3章查询的设计与使用讲授4学时、上机4学时《Access数据库应用技术》第3章查询的设计与使用讲授4学时、上机4学时《Acc1总体要求:掌握查询的作用和分类熟练掌握查询的各种视图掌握各类查询的设计和作用掌握SQL语言的基础掌握SQL查询的设计和使用《Access数据库应用技术》总体要求:掌握查询的作用和分类《Access数据库应用技术》2学习重难点:熟练掌握各类查询视图和各类查询的设计掌握SQL语句基本格式和SQL查询的应用《Access数据库应用技术》学习重难点:熟练掌握各类查询视图和各类查询的设计《Acces3主要内容:3.1查询的概念3.2查询的创建3.3SQL语言基础《Access数据库应用技术》主要内容:3.1查询的概念《Access数据库应用技术》43.1查询的概念查询是具有条件检索和计算功能的数据库对象。查询是以表或查询为数据源的再生表。查询对象不是数据的集合,而是操作的集合。查询的运行结果是一个动态数据集合。《Access数据库应用技术》3.1查询的概念查询是具有条件检索和计算功能的数据库对象53.1.1查询的作用与功能查询按一定的条件生成一个动态数据集:通过使用查询可按不同的方式来查看、更改和分析数据;利用查询对选择的记录组执行多种类型的计算。通过使用查询生成新的数据表。通过使用查询实现数据源表数据的删除、更新或追加;查询也可以作为窗体、报表或数据访问页的数据源,实现多个表作为数据源《Access数据库应用技术》3.1.1查询的作用与功能查询按一定的条件生成一个动态数据63.1.2查询的分类选择查询参数查询操作查询交叉表查询SQL查询《Access数据库应用技术》3.1.2查询的分类选择查询《Access数据库应用技73.1.3、查询视图查询视图主要用于设计、修改查询或按不同方式查看查询结果,在Access中提供了三种常用视图,分别是数据表视图、设计视图、SQL视图。《Access数据库应用技术》3.1.3、查询视图查询视图主要用于设计、修改查询或按81.查询的数据表视图查询的数据表视图是以行和列的格式显示查询结果数据的窗口。在这个视图中,可以进行字段编辑、添加和删除数据、查找数据、排序、筛选等操作,还可以进行视图的显示风格的设计。查询的数据表视图具体的操作方法和数据表操作一样。《Access数据库应用技术》1.查询的数据表视图查询的数据表视图是以行和列的格式显示查询92.查询的设计视图查询的设计视图是用来设计查询的窗口,是查询设计器的图形化表示。查询设计视图由上、下两个窗口构成,即表/查询显示窗口和查询设计网格窗口(也称为QBE网格)《Access2003数据库应用技术》2.查询的设计视图查询的设计视图是用来设计查询的窗口,是查10(1)表/查询显示窗口它是当前查询所包含的数据源(表和查询)以及表间关系。在这个窗口里可以添加或删除表,可以建立表间关系。(2)查询设计网格它用于设计显示查询字段、查询准则等。其中每一行都包含查询字段的相关信息,列是查询的字段列表。《Access数据库应用技术》(1)表/查询显示窗口(2)查询设计网格《Access数据库11在查询的设计视图下,Access2003还提供了查询属性设置,可以方便地控制查询的运行要设置查询属性,可以在表/查询窗口内右击,在弹出菜单中单击【属性】命令或直接单击数据库工具栏中的【属性】按钮《Access数据库应用技术》在查询的设计视图下,Access2003还提供了查询属性设12常用的查询属性设置主要包括下列几项:说明:对查询的相关说明输出所有字段:该属性用来控制查询中字段的输出,只有当用户设计的查询用于窗体并希望查询中表的所有字段也适用于窗体时才可以设置为“是”,没有特别要求时请使用默认的“否”。上限值:当用户希望查询返回“第一个”或“上限”记录时,可以使用该选择项。唯一的记录:运用该选项可以来消除查询中重复行的目的。运行权限:当在网络上与其他用户一起共享时,从安全的角度出发点,可以使用该选项来设置用户的查看数据和修改数据的权限。记录锁定:对于网络中共享的查询来说,可以使用该选项来控制查询编辑的整体层次。《Access数据库应用技术》常用的查询属性设置主要包括下列几项:《Access数据库应用133.查询的SQL视图查询的SQL视图是用来显示或编辑打开查询的SQL语句的窗口。《Access数据库应用技术》3.查询的SQL视图查询的SQL视图是用来显示或编辑打开查143.2查询的创建在Access2003中,可以通过三种方式创建查询通过向导创建查询通过查询的设计视图创建查询通过SQL视图创建查询《Access数据库应用技术》3.2查询的创建在Access2003中,可以通过153.2.1创建选择查询

选择查询是可以按照一定的准则从一个或多个表中获取数据,并按照所需的次序进行排列显示。可以使用选择查询对记录进行分组,并且对记录作总计、计数、平均以及其他类型的计算。【例3-1】在“学籍管理”数据库中的“学生基本情况表”中查询出所有女生信息。【例】在“罗斯文”数据库的“客户”表中筛选公司名称分别为“华科”、“悦海”的所有客户记录。【例】在“罗斯文”数据库的“客户”表中找出城市为“大连”、联系人为“王先生”的记录。【例】在“罗斯文”数据库的“产品”表中查询所有中止销售的产品记录。并按类别的降序排列。《Access数据库应用技术》3.2.1创建选择查询选择查询是可以按照一定的准则从一个16操作要点:在数据库窗口中,选择“查询”对象→“在设计视图中创建查询”选项在“显示表”窗口中添加被查询的表或查询要查询网格中设置查询准则《Access数据库应用技术》操作要点:在数据库窗口中,选择“查询”对象→“在设计视图中创173.2.2创建交叉表查询

交叉表查询是一类特殊的查询,允许用户在行列交叉处查看计算的结果。交叉表查询主要用来计算数据总和、平均值、计数或其他类型的总值。【例3-2】在“学籍管理”数据库中从“学生基本情况表”、“选课表”查询学生各科成绩录入次数。【例】创建交叉表查询,统计“学籍管理”数据库“学生基本情况表”中各专业的男女生人数。【例】对“学籍管理”数据库创建交叉表查询,统计每位同学的选课成绩。《Access2003数据库应用技术》3.2.2创建交叉表查询交叉表查询是一类特殊的查询,允许18操作要点:在数据库窗口中选择“在设计视图中创建查询”在显示表窗口中添加被查询的表或查询通过【查询】的【交叉表查询】命令,将选择查询转换成交叉表查询在查询网格中设置查询准则《Access2003数据库应用技术》操作要点:在数据库窗口中选择“在设计视图中创建查询”《Ac193.2.3创建参数查询参数查询也是一类特殊的查询,参数特指查询准则中的变量,在查询运行时会显示对话框提示用户输入变量的值。【例3-3】在“学籍管理”数据库中,创建一个“学生年份查询”查询,输入年份后从“学生基本情况表”表中查询出生在本年份的学生姓名与出生日期。【例】在“罗斯文”数据库中以折扣为参数创建“订单明细”表的参数查询。【例】在“学籍管理”数据库中,查询“学生基本情况表”中入学成绩在某一分数段的学生名单。《Access2003数据库应用技术》3.2.3创建参数查询参数查询也是一类特殊的查询,参数特指20操作要点:在数据库窗口中选择“在设计视图中创建查询”在“显示表”窗口添加表设置参数《Access2003数据库应用技术》操作要点:在数据库窗口中选择“在设计视图中创建查询”《Ac213.2.4创建操作查询操作查询又称为动作查询,就是通过查询完成某些动作。根据动作操作查询又可分为:追加查询更新查询删除查询生成表查询《Access2003数据库应用技术》3.2.4创建操作查询操作查询又称为动作查询,就是通过查询221.创建生成表查询

生成表查询实际上是将查询的动态数据集转化成了新的数据表。【例3-4】在“学籍管理”数据库中,由“学生基本情况表”表和“选课表”表查询创建“2005学年成绩表”表,表包含“学号”、“姓名”、“课程编码”、“成绩”、“学年”字段。【例】将“学籍管理”数据库中“学生基本情况表”表中所有专业为“计算机科学”的记录生成一张新表,名为“专业表”。《Access2003数据库应用技术》1.创建生成表查询生成表查询实际上是将查询的动态数据集转化23操作要点:在数据库窗口中选择“在设计视图中创建查询”在“显示表”窗口添加表【查询】→【生成表查询】菜单命令设置查询准则《Access2003数据库应用技术》操作要点:在数据库窗口中选择“在设计视图中创建查询”《Acc242.创建追加查询

追加查询是从一个或多个表中将一组记录追加到另一个表的尾部的查询方式。【例3-5】在“学籍管理”数据库中,以“教师基本情况表”复制一个“教师表”,只复制结构,建立一个追加查询,将“教师基本情况表”中“职称”是“讲师”的记录追加到“教师表”中。【例】将“学籍管理”数据库中“学生基本情况”表中专业为“电子技术”的记录追加到前面例题创建的“专业表”中。《Access2003数据库应用技术》2.创建追加查询追加查询是从一个或多个表中将一组记录追加到25操作要点:选择“在设计视图中创建查询”在“显示表”窗口添加表【查询】→【追加查询】菜单命令设置查询准则《Access2003数据库应用技术》操作要点:选择“在设计视图中创建查询”《Access200263.创建更新查询更新查询就是用从一个或多个表中查询出来的结果去更新一个或多个表中的数据内容的查询。【例3-6】在“学籍管理”数据库中,从“教师基本情况表”中查询出“教师表”中教师的相对应的“学历”去更新“教师表”中的“学历”。【例】将“罗斯文”数据库的“订单明细”表中的所有产品的单价打8折。《Access2003数据库应用技术》3.创建更新查询更新查询就是用从一个或多个表中查询出来的结27操作要点:选择在设计视图中创建查询在“显示表”窗口添加表【查询】→【更新查询】菜单命令设置查询准则《Access2003数据库应用技术》操作要点:选择在设计视图中创建查询《Access2003数28《Access2003数据库应用技术》《Access2003数据库应用技术》294.创建删除查询

删除查询是指从一个或多个表中删除一组记录的查询,使用删除查询是删除整条记录,而不是记录中的相应查询中所选择的字段。【例3-7】在“学籍管理”数据库中创建一个删除查询,把“2005学年成绩表”中成绩低于60分的记录删除。【例】将“学籍管理”数据库中“学生基本情况表”中专业为“计算机科学”和“电子技术”的所有记录删除。《Access2003数据库应用技术》4.创建删除查询删除查询是指从一个或多个表中删除一组记录的30操作要点:在数据库窗口中复制表结构选择在设计视图中创建查询在“显示表”窗口添加表【查询】→【删除查询】菜单命令设置查询准则《Access2003数据库应用技术》操作要点:在数据库窗口中复制表结构《Access2003数据31设置查询准则逻辑运算符运算符功能举例含义and逻辑与>=80and<90大于等于80并且小于90or逻辑或“北京”or“上海”北京或者上海not逻辑非Not“党员”非党员比较运算符运算符功能举例含义=等于=“王明”等于“王明”<小于<100小于100>大于>90大于90<=小于等于<=80小于等于80>=大于等于>=#99-1-1#1999年1月1日以后<>不等于<>“汉”不等于汉族《Access2003数据库应用技术》设置查询准则逻辑运算符运算符功能举例含义and逻辑与>=8032设置查询准则其它运算符运算符功能举例含义Between决定一个数值是否在一个指定值的范围内Between1And10在1到10之间。或写成:>=0and<=10In决定一个字符串是否是一列表值的成员In(“电子系”,“机械系”)表示“电子系”或“机械系”。或写成:“电子系”

Or“机械系”Is与Null一起使用,以决定一个值是否是Null或NotNullIsNullIsNotNull表示该字段无数据。表示该字段有数据。Like

查找相匹配的文字,用通配符来设定文字的匹配条件。?代表任意一个字符,*代表任意连续字符,#代表任意一个数字位,[0-9]代表数字位,[a-z]代表字母位,!表排除。Like“a*”;Like“File???”Like“[!0-9]*”表示以“a”开头的字符串。表示以File开头,后3位为任意字符的字符串。表示以除0到9以外的任何字符开头的字符串。《Access2003数据库应用技术》设置查询准则其它运算符运算符功能举例含义Between决定一33例:对“学籍管理”数据库中的“学生基本情况”表创建查询,查询所有非电子技术系的女生情况。<>“电子技术”(not“电子技术”)例:查询“罗斯文商贸”数据库中的“客户”表中所有“传真”字段为空的记录。Isnull例:查询“罗斯文商贸”数据库的“客户”表中所有姓谢的“联系人”的记录。

Like“谢*”设置查询准则《Access2003数据库应用技术》例:对“学籍管理”数据库中的“学生基本情况”表创建查询,查询343.3SQL语言基础

SQL(StructuredQueryLanguage)结构化查询语言,是一种通用的数据库操作语言。SQL语句最主要的功能就是查询功能。使用SQL语句不需要在不同的工作区打开不同的表,只需将要连接的表、查询所需的字段、筛选记录的条件、记录分组的依据、排序的方式以及查询结果的显示方式,写在一条SQL语句中,就可以完成特定的工作。《Access2003数据库应用技术》3.3SQL语言基础SQL(StructuredQu353.3.1数据定义数据定义语言(DataDefinitionLanguage简称DDL)是SQL语言的重要组成部分,它包括有数据表的创建、删除、更改或在当前数据库中表的索引的建立等,Access2003中常用的语句有Create、Drop、Alter三种。《Access2003数据库应用技术》3.3.1数据定义数据定义语言(DataDefinit361.CREATE语句CREATETABLE语句用于定义一个新表及其字段和字段约束。其格式为:CREATETABLEtable(field1type[(size)][NOTNULL][WITHCOMPRESSION|WITHCOMP][index1][,field2type[(size)][NOTNULL][index2][,...]][,CONSTRAINTmultifieldindex[,...]])【例3-8】在“学籍管理”数据库中,用数据定义查询创建一个“示例表”(姓名文本(6),性别是/否)。

createtable示例表(姓名varchar(6),性别bit)《Access2003数据库应用技术》1.CREATE语句CREATETABLE语句用于定义一个372.ALTER语句

ATLTERTABLE语句用来来增加、删除表的字段和索引以及修改字段属性的语句。语句的格式为:ALTERTABLEtable{ADD{COLUMNfieldtype[(size)][NOTNULL][CONSTRAINTindex]|ALTERCOLUMNfieldtype[(size)]|CONSTRAINTmultifieldindex}|DROP{COLUMNfieldICONSTRAINTindexname}}例:在“学籍管理”数据库的“教师授课表”中添加(删除)字段“教师姓名”。

altertable教师授课表ADDcolumn教师姓名Varchar(6)altertable教师授课表Dropcolumn教师姓名《Access2003数据库应用技术》2.ALTER语句ATLTERTABLE语句用来来增加383.DROP语句DROP语句用于删除表或表的索引所用。语句格式为:DROP{TABLEtable|INDEXindexONtable}注意:在删除表或从表中删除索引之前,必须先关闭该表。例:删除前面在“教师授课表”中创建的“教班编号索引”。

DROPindex教班编号索引on教师授课表例:删除“学籍管理”数据库下的“选课表”。

DROPtable选课表《Access2003数据库应用技术》3.DROP语句DROP语句用于删除表或表的索引所用。语句格393.3.2SQL查询

SQL查询是利用SELECT语句来书写的查询,也就是在查询的SQL视图下来完成的查询SQL命令的所有子句既可以写在同一行上,也可以分行书写;大小写字母的含义相同,命令用分号“;”结束(也可以不写)《Access2003数据库应用技术》3.3.2SQL查询SQL查询是利用SELECT语句来40【例3-16】在“学籍管理”数据库中的“学生基本情况表”中查询出年龄大于23岁的女生。

SELECT*from学生基本情况表

WHERE性别="女"and(date()-出生日期)/365>23《Access2003数据库应用技术》【例3-16】在“学籍管理”数据库中的“学生基本情况表”中查41【例3-17】在“学籍管理”数据库中“学生基本情况表”中查询入学成绩在450分到600分之间且专业属于“电子技术”或“计算机科学”的学生。

SELECT姓名,专业,入学成绩FROM学生基本情况表

WHERE(入学成绩BETWEEN450AND600)AND专业IN("电子技术","计算机科学")《Access2003数据库应用技术》【例3-17】在“学籍管理”数据库中“学生基本情况表”中查询424.GROUPBY子句使用GROUPBY子句进行分组时,显示的字段只能是参与分组的字段以及基于分组字段的合计函数计算结果。【例3-18】从“学籍管理”数据库中“学生基本情况表”中查询各专业的入学成绩平均分。

SELECT专业,AVG(入学成绩)as入学成绩平均分

FROM学生基本情况表

GROUPBY专业《Access2003数据库应用技术》4.GROUPBY子句使用GROUPBY子句进行分组时435.ORDERBY子句RDERBY子句一般在SELECT语句最后,是用来指定查询结果以什么顺序返回。其格式为:

ORDERBY字段1[ASC|DESC][,字段2[ASC|DESC]][,...]]]【例3-20】从“学籍管理”数据库中的“学生基本情况表”中查询出学生学号、姓名并按姓名降序返回结果。

SELECTDISTINCT学号,姓名FROM学生基本情况表

ORDERBY姓名DESC《Access2003数据库应用技术》5.ORDERBY子句RDERBY子句一般在SELEC443.3.3数据操纵在SQL中数据操纵是指数据的更新、删除、追加,数据操纵的SQL语句有UPDATE、DELETE、INSERTINTO三种《Access2003数据库应用技术》3.3.3数据操纵在SQL中数据操纵是指数据的更新、删除451.UPDATE语句

UPDATE语句用于基于特定条件更改指定表中的字段值,当需要更改多个记录或者需要更改的记录存在于多个表中时,UPDATE语句是最有用的。UPDATE语句的格式:

UPDATEtableSETnewvalueWHEREcriteriaUPDATE对表中记录的更改不得违反所有的数据完整性约束。《Access2003数据库应用技术》1.UPDATE语句UPDATE语句用于基于特定条件更改指46【3-24】将“学籍管理”数据库中的“教师基本情况表”中政治面貌为空的记录用“非党员”去更改。

UPDATE教师基本情况表

SET政治面貌="非党员"WHERE政治面貌ISNULL《Access2003数据库应用技术》【3-24】将“学籍管理”数据库中的“教师基本情况表”中政治472.DELETE语句DELETE语句用于从一个或多个表中删除满足条件的记录,使用DELETE语句时,只删除其中的数据,表的结构和所有表属性(如字段属性和索引)依然保持原样。格式如下:

DELETE[table.*]FROMtableWHEREcriteria《Access2003数据库应用技术》2.DELETE语句DELETE语句用于从一个或多个表中删除48DELETE语句删除时,无论DELETE后[table.*]指不指定内容,删除均以整条记录为单位,不会是字段的数据。【例3-25】从“学籍管理”数据库的“学生基本情况表”中删除入学成绩低于

温馨提示

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

评论

0/150

提交评论