收藏 分享(赏)

ACCESS查询教程(包含常用函数).ppt

上传人:eukav 文档编号:7039686 上传时间:2019-05-03 格式:PPT 页数:46 大小:949KB
下载 相关 举报
ACCESS查询教程(包含常用函数).ppt_第1页
第1页 / 共46页
ACCESS查询教程(包含常用函数).ppt_第2页
第2页 / 共46页
ACCESS查询教程(包含常用函数).ppt_第3页
第3页 / 共46页
ACCESS查询教程(包含常用函数).ppt_第4页
第4页 / 共46页
ACCESS查询教程(包含常用函数).ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、1,ACCESS查询教程,(包含常用函数),2,查询是关系数据库中的一个重要概念,利用查询可以让用户根据选择条件对数据库进行检索,筛选出一组满足指定条件的记录,从而构成一个新的数据集合,以方便用户对数据库进行查看和分析。,3,本章主要内容:,查询的功能与类型 查询对象的创建与设计方法 操作查询及SQL查询的方法 使用查询操作表或表数据,查询对象以一个或多个表及其它查询对象为基础,重组并加工这些表及查询对象中的数据,提供一个新的数据集合。,5,3.1.1 查询对象的功能,1选择字段 2选择记录 3. 编辑记录 4. 实现计算 5. 利用查询的结果生成窗体或报表 6建立新表,6,3.1.2 查询对

2、象的类型,1. 选择查询 2. 参数查询 3. 交叉表查询 4. 操作查询 5. SQL 查询,7,1. 选择查询,选择查询是最常见的查询类型,它是按照规则从一个或多个表,或其它查询中检索数据,并按照所需的排列顺序显示出来。如下表的数据来源于“学生信息”、“选课信息”及“课程信息”3个表,8,2.参数查询,参数查询可以在执行时显示自己的对话框,提示用户输入信息。它不是一种独立的查询,只是在其它查询中设置了可变化的参数。如下图查询对象的数据源是“学生信息”表,运行查询时需输入查询参数。,9,3.交叉表查询,使用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据,如下表所示。,数据

3、源表,交叉表查询对象,10,4. 操作查询,使用操作查询只需进行一次操作,就可以对许多记录进行更改和移动。操作查询有以下4种: 删除查询:可以从一个或多个表中删除一组记录。 更新查询:可以对一个或多个表中的一组记录做 全局的更改。 追加查询:可以将一个或多个表中的一组记录添 加到一个或多个表的末尾。 生成表查询:可以根据一个或多个表中的的全部 或部分数据新建表。,例如,可以使用删除查询来删除所有毕业学生的记录。,例如,可以将某一工作类别的人员的工资提高 5 个百分点。,例如,假设用户获得了一些新的客户以及包含这些客户信息的数据表。若要避免在自己的数据库中键入所有这些信息的麻烦,可以利用“追加查

4、询”将其追加到“客户”表中。,11,5. SQL 查询,SQL (Structure Query Language)是一种结构化查询语言,是数据库操作的工业化标准语言。 可使用SQL查询、更新和管理任何数据库系统。 用户在设计视图中创建查询时,Access将在后台构造等效的SQL语句。 只能在SQL视图中创建的查询,称为“特定查询”,包括: 传递查询:传递查询可以直接向 ODBC 数据库服务器发送命令 联合查询:联合查询可使用 Union 运算符来合并两个或更多选择查询结果 数据定义查询:利用数据定义语言 (DDL) 语句创建或更改数据库中的对象。,12,3.1.3 查询视图,设计视图:设计视

5、图就是查询设计器,通过该视图可以设计除SQL查询之外的任何类型的查询。 数据表视图:数据表视图是查询的数据浏览器,是一个动态记录集。 SQL视图:SQL视图是按照SQL语法规范显示查询,即显示查询的SQL语句,此视图主要用于SQL查询。 数据透视表视图和数据透视图视图:在这两种视图中,可以更改查询的版面,从而以不同方式观察和分析数据。注意:通过选择“视图”菜单中的相应选项(或点击工具栏中的“视图”图标的下拉按钮,在下拉表中选择相应选项),可实现在5种视图间的转换。,13,3.1.4 查询准则,用户的查询经常需要指定一定的条件,这就需要设置准则来实现。查询准则也称为查询条件,是运算符、常量、字段

6、值、函数以及字段名和属性等的任意组合,能够计算出一个结果。1准则中的运算符及表达式 算术运算符,14, 关系运算符用关系运算符连接的两个表达式构成关系表达式,结果为一个逻辑值True、False或者Null,15, 连接运算符可以使用连接运算符将两个文本值合并成一个值。, 逻辑运算符逻辑运算符用于连接两个关系表达式,对表达式进行真、假判断。,16, 特殊运算符与比较运算有关,这些运算符根据字段中的值是否符合这个运算符的限定条件返回True或False。 Like :查找匹配的文字可与以下4 个通配符配合使用:“*”匹配0或多个字符,“?” 匹配一个字符,“#” 匹配一个数字,“ ”匹配一个字符

7、范围 。 如:like “李*”,指姓李的名字。 In:指定一系列值的列表 如:In(”山东”,”浙江”,”安徽”)。 Between a1 and a2:指位于a1 和a2之间的值(包括端值) 如:Between 75 and 90。 Is Null、Is Not Null :判断某一值是否为Null值字段,即不包括任何数据,为空值。,17, ?:代表任意一个字符 *:代表任意字符串(0或多个字符) :代表单一数字 字符表:字符表中的单一字符 !字符表:不在字符表中的单一字符 【例】Like “pb-g#” 通配以字母p开头,后根bg之间的1个字母和3个数字的字符串。 【例】Like “f?

8、a-f!6-10*” 通配第一个字符为f ,第2个为任意字符,第3个为非6-10的任意字符,其后为任意字符串的字符串。,补充-通配符,18,1准则中的标准函数,常用的统计函数 求和函数:Sum() 求平均函数:Avg() 统计记录个数函数:Count() 最大、最小值函数:Max()Min() 例如:显示“运费”字段中各值的总和,即为Sum(运费);Avg(运费)为平均运费;显示“单价”字段和“数量”字段乘积的总和,即为Sum(单价*数量);按姓名统计人数,即为Count(姓名);统计包括空值Null在内的所有记录数为Count(*);设有一个“成绩”字段,可以用Max(成绩)求该字段中的最大

9、值,用Min(成绩)求该字段中的最小值。,19,1准则中的标准函数,日期函数在包含日期的表达式中,须将日期型数据的两端加上“”号(此处#不是通配符),以区别于其它数字。 例如:1990年1月2日以后出生的学生,表达式可为:#1990/1/2# 或#/1/2/1990#。另外,系统还提供了以下时间函数: Date( ):返回系统当前日期 Year( ):返回日期中的年份 Month( ):返回日期中的月份 Day( ):返回日期中的日数 Weekday( ):返回日期中的星期几 Hour( ):返回时间中的小时数 Now( ):返回系统当前的日期和时间,20,【例】时间函数的应用1. 构造查询条

10、件表达式,把7月份出生的学生查找出来。Month(csrq)=7 2. 构造计算表达式,根据出生日期计算学生年龄。Year(Date()-Year(出生日期) 3. 构造表达式,表示出系统日期10天前的日期。Date()-10 说明:在任何计算表达式中的符号都必须在英文半角输入状态下输入,否则无效。出生日期和csrq为字段标识符,方括号内是字段名。如果要明确表示“学生信息”表中的“出生日期”字段,表达式为:学生信息!出生日期,21,3.2 创建选择查询,选择查询是最常用的查询类型,它从一个或多个的表中检索数据,并以表格的形式显示这些数据。3.2.1 使用“简单查询向导”创建查询【例3-1】以“

11、教学管理”数据库中的“学生信息”表、“课程信息”表和“选课信息”表为数据源,利用向导创建学生成绩明细查询如图所示。,22,【例3-2】利用“简单查询向导”向导创建院系成绩汇总查询。在“教学管理”数据库中,利用“学生信息”表、“选课信息”表和“课程信息”表中的有关字段,创建各院三门课程的成绩汇总如图所示。,23,3.2.2 在设计视图中创建查询1.认识查询“设计”视图,组件,设计视图,查询显示区,查询设计区,24,2创建查询,在查询“设计”视图中创建查询,首先应在打开的“显示表”对话框中选择查询所依据的表或查询,并将其添加到查询“设计”视图的窗口中,如果选择多个表,多个表之间应先建立关联。 【例

12、3-3】通过多个表创建选择查询。在“教学管理”数据库中,利用“学生信息”表、“选课信息”表和“课程信息”表创建一个具有“学号”、“姓名”、“课程名称”和“课程成绩”字段的查询,查询条件是“土建学院”,按“学号”升序排序。,25,3.2.3 在查询中进行计算,查询对象还可以对数据进行分析和加工,生成新的数据与信息。生成新的数据一般通过计算的方法,常用的有求和、计数、求最大最小值、求平均数及表达式等。1了解查询计算功能预定义计算:即所谓的“总计”计算,用于对查询中的记录组或全部记录进行下列的数量计算:总和、平均值、计数、最小值、最大值、标准偏差或方差。 自定义计算:使用一个或多个字段中的数据在每个

13、记录上执行数值、日期或文本计算。对于这类计算,需要直接在查询设计区中创建新的计算字段,方法是将表达式输入到查询设计区中的空“字段”单元格中。,26,2总计查询、分组总计查询,建立总计查询时需要在查询“设计”视图中单击工具栏上的【合计】按钮,Access将在查询设计区中添加“总计”组件,然后在“总计”行的单元格中,可列出“分组”、“总计”、“平均值”等选项。 【例3-4】在“教学管理”数据库中,利用“学生信息”表统计男女生的人数。,27,4添加计算字段,当要统计的数据在表中没有相应的字段,或者用于计算的数据来自于多个字段时,应该在“设计网格”中添加一个计算字段。计算字段是指根据一个或多个表中的一

14、个或多个字段,并使用表达式建立的新字段。 【例3-5】分别统计各个学院各门课程的平均成绩。,28,3.4 创建参数查询,参数查询是一种可以重复使用的查询,每次使用时都可以改变其准则。 每当运行一个参数查询时,都会显示一个对话框,提示用户输入新的准则。 将参数查询作为窗体、报表和数据访问页的基础是非常方便的。 设置参数查询在很多方面类似于设置选择查询。可以使用“简单查询向导”,先从要包括的表和字段开始,然后在“设计”视图中添加查询条件;也可以直接到“设计”视图中设置查询条件。,29,3.4.1 单参数查询,【例3-7】建立一个查询,显示任意月份出生的教师编号、姓名及职称。 首先创建包含所需显示字

15、段的简单查询 在设计视图中添加查询条件 设置查询参数的数据类型,30,3.4.2 多参数查询,一个参数可视为一组条件,若想针对多组条件设置查询,可创建“多参数查询”。 【例3-8】以“学生信息”表、“课程信息”表和“选课信息”表为数据源,查询某门课程和某个分数段的的学生成绩情况。,31,32,3.5 创建操作查询,操作查询用于对数据库进行复杂的数据管理操作,用户可以根据自己的需要利用查询创建一个新的数据表以及对数据表中的数据进行增加、删除和修改等操作。 操作查询不像选择查询那样只是查看、浏览满足检索条件的记录,而是可以对满足条件的记录进行更改。 操作查询共有4种类型:生成表查询、更新查询、追加

16、查询和删除查询。 所有查询都将影响到表,其中,生成表查询在生成新表的同时,也生成新表数据,而删除查询、更新查询和追加查询只修改表中的数据。,33,创建操作查询的步骤:,1.创建简单查询或参数查询 2.单击工具栏【查询类型】按钮,从下拉菜单中选择所需操作查询类型。 3.切换到“数据表”视图预览查询结果。 4.确认预览结果无误后,切换到查询“设计” 视图,单击工具栏【运行】按钮执行查询。 5.保存设计结果。,34,3.5.1 生成表查询,运行“生成表查询”可以使用从一个或多个表中提取的全部或部分数据来新建表 【例3-9】以“课程信息”表为依据,查询课程类型为必修课的课程,并生成新表。,35,3.5

17、.2 删除查询 要使数据库发挥更好的作用,就要对数据库中的数据经常进行整理。整理数据的操作之一就是删除无用的或坏的数据。前面介绍的在表中删除数据方法只能手动删除表中记录或字段的数据,非常麻烦。 删除查询可以通过运行查询自动删除一组记录,而且可以删除一组满足相同条件的记录。删除查询可以只删除一个表内的记录,也可以删除在多个表内利用表间关系相互关联的表间记录。 【例3-10】创建一个删除查询,删除“教师信息”表中学历为“专科生”的记录。,36,3.5.3 更新查询更新查询用于修改表中已有记录的数据。 创建更新查询首先要定义查询准则,找到目标记录,还需要提供一个表达式,用表达式的值去替换原有的数据。

18、 【例3-11】创建一个更新查询,将所有土建学院05级学生的所属学院改为“土木与建筑学院”。,37,3.5.4 追加查询如果希望将某个表中符合一定条件的记录添加到另一个表中,可使用追加查询。追加查询可将查询的结果追加到其它表中。 【例3-12】设已建立“城南学院学生信息”表,如图3-54所示。要求创建一个追加查询,将“学生信息”表中城南学院的学生信息追加到“城南学院学生信息”表中。,38,3.6 创建SQL查询(补充),SQL查询视图,39,数据查询(SELECT语句) 数据操纵(INSERT, UPDATE, DELETE语句) 数据定义(CREATE, DROP等语句) 数据控制(COMM

19、IT, ROLLBACK等语句),SQL语言包含4个部分功能:,40,CREATE命令,CREATE命令用来创建表、视图或索引,其命令格式为: Create Table ( 列完整性约束条件,列完整性约束条件, )表完整性约束条件; 【例】创建一个教师信息表,包括:编号、姓名、职称、出生日期、简历等字段。其中,编号字段为主索引字段(不能为空,且值唯一)。Create Table 职工信息 (编号 char(9) not null unique, 姓名 char(9),职称 char(10), 出生日期 date, 简历 memo);,41,DROP命令,DROP命令用来删除表、视图或索引,其命

20、令格式为:Drop Table ; Drop Index ; Drop View ;【例】删除职工信息表。Drop Table职工信息 ;,42,SELECT命令,利用SELECT命令可以构造数据查询语句,其语法结构为: Select All | Distinct , From ,Where Group By Having Order By Asc | Desc 语句中各关键词的含义为 All(默认):返回全部记录; Distinct:略去选定字段中重复值的记录; From:指明字段的来源,即数据源表或查询; Where:定义查询条件; Group By:指明分组字段,Having:指明分组条

21、件; Order By :指明排序字段,Asc | Desc:排序方式,升序或降序。,43,【例】从学生成绩表中,查询出“土建学院”全体学生的记录,结果按照学号的升序排序。Select All * From 学生信息 Where 所属院系=“土建学院“ Order By 学号 Asc 如果本例的条件改为,查询出“土建学院”男生的记录,两个条件并列,则语句应为:Select * From 学生信息Where 所属院系=“土建学院“ and 性别=“男“ Order By 学号 Asc 如果本例的条件改为,查询“土建学院” 中全体学生的记录,显示出他们的学号、姓名和各科成绩,则语句应为:Selec

22、t 学生信息.学号, 学生信息.姓名,课程信息.课程名称, 选课信息.课程成绩 From 学生信息, 课程信息, 选课信息Where 选课信息.学号=学生信息.学号 and 课程信息.课程编号=选课信息.课程编号 and 所属院系=“土建学院“ Order By 学生信息.学号 Asc,44,INSERT 命令,通过该命令可以向数据表中插入新记录。 【例】向“课程信息”表中插入一条新纪录。Insert Into 课程信息Values (“5555“, “中国武术“,“必修课“,1,16);UPDATE 命令 通过该命令可以修改数据表中的数据。 【例】修改“课程信息”表中的数据,将课程“中国武术”改为“中国散打武术”。Update 课程信息Set 课程名称=“中国散打武术“Where 课程名称=“中国武术“,45,本章小结,查询实际上就是将分散存储在表中的数据按一定的条件重新组织起来,形成一个动态的数据记录集合;而这个记录集在数据库中并没有真正存在,只是在运行查询时从查询源表的数据中创建,数据库只是保存查询的方式,当关闭查询时,动态数据集会自动消失。但正是这个特性提供了查询灵活方便的数据操纵能力。,46,复习提问,1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报