[PPT模板]查询数据.ppt

上传人:音乐台 文档编号:1996318 上传时间:2019-01-29 格式:PPT 页数:45 大小:220.50KB
返回 下载 相关 举报
[PPT模板]查询数据.ppt_第1页
第1页 / 共45页
[PPT模板]查询数据.ppt_第2页
第2页 / 共45页
[PPT模板]查询数据.ppt_第3页
第3页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[PPT模板]查询数据.ppt》由会员分享,可在线阅读,更多相关《[PPT模板]查询数据.ppt(45页珍藏版)》请在三一文库上搜索。

1、第五章 查询数据,概述 创建选择查询 创建参数查询 创建交叉表查询 创建操作查询 创建SQL查询,概述,查询是Access数据库的主要组件之一,也是Access数据库中最强的一种功能。在数据库操作中,数据的统计、计算和检索占有很重要的位置,利用Access的查询工具,可以方便地对多个数据表中的数据进行计算、检索。查询就是按给定的要求(包括条件、范围、方式等)从指定的数据源中查找,将符合条件的数据提取出来,形成一个新的数据集合。查询的数据源既可以是一个表,也可以是多个相关联的表,还可以是其他查询。,查询的结果可以生成窗体、报表,还可以作为另一个查询的基础,但注意它并没有生成一张新表。 使用查询可

2、以按照不同的方式查看、更改和分析数据。也可以使用查询作为窗体、报表和数据访问页的数据源。 Access中的查询可以分为5类:选择查询、参数查询、交叉表查询、操作查询、SQL查询。,第一节 创建选择查询,1利用向导创建单表简单查询 2利用向导创建多表简单查询,1利用向导创建单表简单查询,查询向导一般用来创建相对比较简单的查询,或者用来初建基本查询,以后再用设计视图进行修改。 实例5-1 利用向导创建学生生源查询(操作演示,详细步骤见教材),2利用向导创建多表简单查询,如果要查询的信息一张表不能满足要求,则需进行多表连接查询。 实例5-2 利用向导创建学生选课查询(操作演示,详细步骤见教材),第二

3、节 创建参数查询,1利用设计视图创建参数查询 2查询操作 3在查询中创建计算字段,1利用设计视图创建参数查询,实例5-3 创建学生基本信息查询按姓名查询学生基本信息(操作演示,详细步骤见教材) 相关知识 在查找时,如果仅知道要查找的部分内容,或要查找以指定的字符为开头,或符合某种样式的指定内容,则可以使用通配符作为其他字符的占位符,在条件表达式中使用“Like”运算符。,对于Access 数据库,在“查找”和“替换”对话框中或在查询、命令和表达式中,可以使用“*”或“?”等字符,查找如字段内容、记录或文件名等内容。 *:与任何个数的字符匹配,它可以在字符串中,当作第一个或最后一个字符使用。例如

4、,wh* 可以找到 what、white 和 why等 ?:与任何单个字母的字符匹配。例如b?ll可以找到 ball、bell 和 bill等。 注意事项 只有在条件表达式中使用“Like”运算符时,才可以使用通配符作为其他字符的占位符。,2查询操作,1)查询基本操作 (1)添加或删除数据源 在查询的“设计”视图中单击“显示表”按钮,可以打开“显示表”对话框,添加数据源;在查询的“设计”视图中选中一个数据源后单击Delete键就可将其删除。 (2)向设计网格添加字段 添加字段的方法有: 在数据源的字段列表中双击要查找的字段。 在字段列表中选择要添加的字段,然后拖至设计网格的字段行。,在设计网格

5、的字段行,从下拉列表中选择要添加的字段。 若要删除添加的字段,可单击“列选择器”选择要删除的列,然后单击Delete键。 (3)查询字段重命名 将插入光标定位于设计网格中需要重命名字段名的左边,输入新名后键入英文冒号(:),在查询结果视图中将以新名作为字段名。,2)设置查询属性 每个查询也有相关的一些属性值用来控制查询的执行、显示结果和查询性能。创建查询时系统对查询的各属性都预设了默认值。但是这些默认值有时达不到预期目标,需要重新设置。 在查询网格或数据源字段列表外任意处单击,再单击工具栏的“属性”按钮,打开当前查询的“查询属性”对话框。 对于每一个属性项,当插入光标进入该属性域时,状态栏会显

6、示该属性项的简要说明。常用的有下面一些属性项:,输出所有字段。否(默认值):只显示在查询设计网格中设定为“显示”的字段。是:显示数据源中的所有字段,与字段在设计网格中是否设定了“显示”无关。 上限值。All(默认值):输出全部记录。数字:按数字输出记录数。百分比:按百分比输出记录数。 惟一值。否(默认值):显示所有记录。是:只显示那些在“数据表”视图中所有字段的值都惟一的记录。,记录集类型。动态集(默认值);可通过查询来编辑数据源值的数据,数据源中数据的变化会在查询结果中得到即时反应。动态集(不一致的更新):查询结果与数据源是按照指定的时间间隔交换数据而非即时。快照:查询结果出来后,与数据源不

7、再有关系。如果不允许通过该查询修改数据源中的记录,可设置此属性。 (1)设置排序方式,选择查询的结果,一般以数据输入的物理顺序显示。若想按特定的顺序显示,可通过设置排序方式来实现。排序分为升序和降序。排序可以把具有相同属性的记录放在一起。若按性别排序,可以把男女分开;若按班级号排序,可以把一个班的学生信息排在一起。 可以按一个字段排序,也可以按多个字段排序。若按多个字段排序,则要特别注意字段在“设计”视图中的网格列顺序。不同的网格列顺序会得到不同排列的记录集。因为排序规则是先按排在前面的字段排序,再按排在后面的字段排序,(2)编辑表达式 设置查询条件需要给出正确的表达式。表达式由运算符和操作数

8、组成,获得某种运算的结果。 表达式中的运算符 等号运算符 算术表达式 算术运算符可进行常见的算术运算,按运算的优先次序排列为:(乘方)、 -(负号) *(乘)、/(除)、Mod(求余)、+(加)、-(减)。 比较运算符,比较运算符用来比较两个值或表达式之间的关系,包括:(大于)、=(大于等于)、(不等于)、=(等于)、BetweenAnd(介于)、Like(像其中一部分)。 比较运算的结果为真或假,运算时没有先后次序。 注意事项 如果要表示更复杂的比较,如:大于10且小于20,不能用“1010 And 20”来表示。,逻辑运算符 逻辑运算符用于实现逻辑运算,按优先次序排列为:Not(非)、An

9、d(并且)、Or(或)。逻辑运算符通常与比较运算符一起使用,构成复杂的用于判断比较的表达式,表达式的值为True或False。 连接运算符 连接运算符主要用于连接字符串,用“&”或“+”表示。例如“”计算机系”&”信息专业”的运算结果为“”计算机系信息专业”。也可以用加号实现同样的运算“”计算机系”+”信息专业”。,引用运算符 引用运算符用于引用用户自定义的对象或Access定义的项目。用户自定义的对象,如表、窗体、报表、字段、控件等,用“!”引用。Access定义的项目,如属性、方法等。用“.”引用。在使用引用运算符时,对象的名称要写在“”当中。例如,要引用“学生表”中的“姓名”字段时,可将

10、表达式写为:学生表!姓名。要引用“姓名”字段的标题属性(Caption),可将表达式写为:学生表!姓名.caption。 (3)设置查询条件,正确设置查询条件是创建查询的关键,需要把自然条件语言转换为正确的逻辑表达式,并将它写入查询的设计网格中。 在设计网格中设置条件的逻辑关系是: 在同一行(“准则”行或“或”行)的不同列输入的多个查询条件彼此间是逻辑“与”(And)关系。 在不同行输入的多个查询条件彼此间是逻辑“或”(Or)的关系。 如果行与列同时存在,行比列优先(即And比Or优先)。 实例5-4 创建课程成绩分段查询(操作演示,详细步骤见教材),相关知识 使用表达式生成器 在制定规则的时

11、候,有时表达式中会用到很多函数或表中的字段名。直接来写的话会很麻烦。为了解决这种问题,ACCESS提供了一个名叫“表达式生成器”的工具,在这个工具中,提供了数据库中所有的“表”或“查询”中“字段”名称、窗体、报表中的各种控件,还有很多函数、常量及操作符和通用表达式。 在查询的规则行中单击鼠标右键,在弹出的菜单中可以看到一个“生成器.”的命令,单击它以后就会弹出一个“表达式生成器”。或者在设计视图中,单击工具栏上的“生成器”按钮也可以打开“表达式生成器”。,在 “表达式生成器”中,上方的这个方框用来输入“表达式”,是“表达式编辑框”,下面的一排“按钮”是操作符的快捷按钮,因为在表达式中,操作符出

12、现的频率是最高的,单击任何一个按钮,“表达式编辑框”中就会出现相应的操作符。在这排按钮的下面是三个列表框,最左面的这个框中是最基本的选项,选中这些选项以后,第二个列表框中就会出现次一级的列表。再选中第二个列表中的某一项,第三个列表框中就会出现更下一级的列表,在第三个列表中单击某一项,就可以将这一项加到表达式编辑器中了。,3在查询中创建计算字段,Access数据库为经常用到的数值汇总提供了丰富的“总计”选项。 在查询的设计视图中单击工具栏上的“总计”按钮,在设计网格中就会出现“总计”行。“总计”行用于在执行汇总计算时设置选项。单击“总计”行的下拉按钮会列出12个选项。 (1)Group By:指

13、定进行行数值汇总的分组字段。 (2)Sum:为每一组中的指定字段求和。 (3)Avg:为每一组中的指定字段求平均值。 (4)Min:为每一组中的指定字段求最小值。,(5)Max:为每一组中的指定字段求最大值。 (6)Count:为每一组中的指定字段求记录个数。 (7)SrDev:为每一组中的指定字段求标准差。 (8)Var:为每一组中的指定字段求方差。 (9)First:返回组中第一个记录指定字段的值。 (10)Last:返回组中最后一个记录指定字段的值。 (11)Expression:让在设计网格的“字段”行建立计算字段。 (12)Where:指定查询条件。 实例5-5 创建班级成绩查询(操

14、作演示,详细步骤见教材),第三节 创建交叉表查询,实例5-6 创建班级选课人数查询(操作演示,详细步骤见教材,第四节 创建操作查询,1创建追加查询 2创建更新查询 3创建生成表查询 4创建删除查询,1创建追加查询,追加查询就是将一组记录追加到一个或多个表原有记录的后面。追加查询的结果是向有关表中自动添加记录。 实例5-7 创建追加补考学生成绩查询(操作演示,详细步骤见教材),2创建更新查询,实例5-9 创建更新成绩查询(操作演示,详细步骤见教材),3创建生成表查询,生成表查询就是将查询的结果存在一个新表中,这样就可以使用已有的一个或多个表中的数据创建表。 实例5-10 创建学生历史成绩单查询(

15、操作演示,详细步骤见教材),4创建删除查询,删除查询就是从已有的一个或多个表中删除满足查询条件的记录。 实例5-8 创建删除学生历史成绩查询(操作演示,详细步骤见教材),第五节 创建SQL查询,概述 1查询语言SQL 2SQL查询,概述,SQL查询是用户使用SQL语句自定义创建的查询,它是一个用于显示当前查询的SQL语句窗口,在这个窗口里用户可以查看和改变SQL语句,从而达到查询的目的。实际上,Access查询的功能是以SQL语句为基础来实现的,所以,Access查询本质上都是SQL查询。当用户在设计视图中创建查询时,Access将在后台构造等效的SQL语句。,1查询语言SQL,SQL是Str

16、uctured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。 SQL包括了所有对数据库的操作,主要是由下面三部分组成: 数据定义:定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 数据操纵:包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。,数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 在Access数据库的实际应用中,大量使用的是SQL的数据操作部分。 1)数据查询 SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适

17、当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下,SELECT 目标表的列名或列表达式集合 FROM 基本表集合 WHERE条件表达式 GROUP BY列名集合 HAVING组条件表达式 ORDER BY列名集合 整个语句的语义如下:从FROM子句中列出的表中,选择满足WHERE子句中给出的条件表达式的元组,然后按GROUP BY子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER子句

18、(排序子句)是对输出的目标表进行重新排序,并可附加说明ASC(升序)或DESC(降序)排列。,在WHERE子句中的条件表达式中可出现下列操作符和运算函数: 算术比较运算符:,=,=,。 逻辑运算符:AND,OR,NOT。 聚合函数:AVG(平均值),MIN(最小值),MAX(最大值),SUM(和),COUNT(计数)。 条件表达式还可以是另一个SELECT语句,即SELECT语句可以嵌套。 上面只是列出了WHERE子句中可出现的几种主要操作,由于WHERE子句中的条件表达式可以很复杂,因此SELECT句型能表达的语义远比其数学原形要复杂得多。,以下是一些常用的数据查询。 (1)无条件查询 例如

19、,查询所有学生的基本信息,可使用以下语句: SELECT * FROM 学生表 “*”为通配符,表示查找FROM中表的所有属性的值。 (2)条件查询 条件查询即带有WHERE子句的查询,所要查询的对象必须满足WHERE子句给出的条件。 例如,查找课程号为“002”的、考试成绩不及格的学生学号,可使用以下语句:,SELECT 学号 FROM 学生课程表 WHERE 课程号 = 002AND 成绩 = 90 AND 学生表.学号 = 学生课程表.学号,(4)排序查询 排序查询是指将查询结果按指定属性的升序(ASC)或降序(DESC)排列,由ORDER BY子句指明。 例如,查找有不及格成绩的课程号

20、,并将结果按课程号从大到小排列,可使用以下语句: SELECT DISTINCT 课程号 FROM 学生课程 WHERE 成绩60 ORDER BY 课程号 DESC 这里使用DISTINCT会去掉重复行。,(5)计算查询 计算查询是指通过在语句中使用系统提供的特定函数(聚合函数)而获得某些只有经过计算才能得到的结果。 例如,求课程号为“002”的考试人数和平均成绩,可使用以下语句: SELECT COUNT(*),AVG(成绩) FROM 学生课程 WHERE 课程号 = 002 2)数据更新 数据更新包括数据插入、删除和修改操作。它们分别由INSERT语句,DELETE语句及UPDATE语

21、句完成,(1)INSERT语句 语句格式:INSERT INTO表名(列名1,列名2)VALUES(列值1,列值2) 其中,列名序列为要插入值的列名集合,列值序列为要插入的对应值。若插入的是一个表的全部列值,则列名可以省略不写;若插入的是表的部分列值,则必须列出相应列名,此时,该关系中未列出的列名取空值。 例如,向“学生课程表”中插入一个成绩记录(0301012,001,95,2003-01-16),可使用以下语句: INSERT INTO 学生课程表(学号,课程好,成绩,考试日期) VALUES(0301012,001,95,2003-01-16),又如,要把不及格学生的有关信息插入到“补考

22、学生成绩”表中去,可使用以下语句: INSERT INTO 补考学生成绩 ( 学号, 姓名, 课程号, 课程名, 成绩 ) SELECT 学生表.学号, 学生表.姓名, 学生课程表.课程号, 课程表.课程名, 学生课程表.成绩 FROM 学生表,课程表,学生课程表 WHERE 学生课程表.成绩60 and 课程表.课程号 = 学生课程表.课程号 and 学生表.学号 = 学生课程表.学号 (2)DELETE语句 语句格式:DELETE FROM表名WHERE 条件表达式,SQL的删除操作是指从基本表中删除满足WHERE的记录。如果没有WHERE子句,则删除表中全部记录,但表结构依然存在。 例如

23、,要删除考试日期在2003-01-012003-02-20之间的成绩信息,可使用以下语句: DELETE FROM 学生课程表 WHERE 考试时间 Between 2003-01-01 and 2003-02-20; (3)UPDATE语句 语句格式:UPDATE 表名 SET 列名 = 列改变值WHERE 条件表达式 修改语句是按SET子句中的表达式,在指定表中修改满足条件表达式的记录的相应列值。,例如,把课程号为“002”的课程名改为“C语言程序设计”,可以用下列语句: UPDATE 课程表 SET 课程名 = C语言程序设计 WHERE 课程号 = 002 实际上,Access查询的功能是以SQL语句为基础来实现的,所以,Access查询本质上都是SQL查询。当用户在设计视图中创建查询时,Access将自动构造等效的SQL语句。 为了熟悉和掌握数据操作语言,可打开前面已建立的查询,观察系统自动创建的SQL语句。具体方法如下: 打开查询的设计视图,从“视图”菜单选择“SQL视图”,即可看到自动创建的SQL语句,2SQL查询,实例5-11 创建奖励查询(操作演示,详细步骤见教材),

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1