计算机基础与Access数据库程序设计4课件

上传人:w****i 文档编号:91822176 上传时间:2019-07-02 格式:PPT 页数:97 大小:3.65MB
返回 下载 相关 举报
计算机基础与Access数据库程序设计4课件_第1页
第1页 / 共97页
计算机基础与Access数据库程序设计4课件_第2页
第2页 / 共97页
计算机基础与Access数据库程序设计4课件_第3页
第3页 / 共97页
计算机基础与Access数据库程序设计4课件_第4页
第4页 / 共97页
计算机基础与Access数据库程序设计4课件_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《计算机基础与Access数据库程序设计4课件》由会员分享,可在线阅读,更多相关《计算机基础与Access数据库程序设计4课件(97页珍藏版)》请在金锄头文库上搜索。

1、计算机基础与Access数据库程序设计 第4章 查询,目 录 4.1 关于查询的基础知识 4.2 用向导建立查询 4.3 用查询设计器建立查询,4.1 关于查询的基础知识 4.1.1 查询及其分类 依据查询的特点可以把查询分为多种类型,常见的查询类型有选择查询、交叉表查询、参数查询、操作查询和SQL查询等。 1. 选择查询 从一个或多个相互关联的表中查找符合条件的记录的查询称为选择查询。选择查询可以对结果记录直接输出或进行分类汇总统计等处理。利用选择查询可以解决绝大多数的数据检索问题,例如,查询每门课程的课程信息及选课信息的查询就属于选择查询(无选择条件),查询某门课程的课程信息和选课信息则是

2、增加了查询条件的选择查询。,选择查询可以用“简单查询向导”、“查找重复项查询向导”、“查找不匹配项查询向导”或查询设计器创建。 2. 交叉表查询 交叉表查询是指查询结果为对行、列交叉结果进行汇总统计的查询,例如,在“教学管理”数据库中查询每门课程的各民族学生选课人数就属于交叉表查询。交叉表查询可以用“交叉表查询向导”或查询设计器建立。 3. 参数查询 查询可以定义查询参数,以便在运行查询(打开查询)时灵活选择查询范围。例如查询学生信息时,如果可以在执行查询时指定具体的出生日期或出生日期范围,查询操作的针对性就会大大提高,这种可以在运行查询时指定查询参数的查询就是,参数查询。 4. 操作查询 一

3、般而言,查询操作不改变数据库数据。Access可以把对表的插入、删除、更新等操作用查询实现并把这类查询称为操作查询。操作查询包括删除查询、更新查询、追加查询、生成表查询等。 删除查询用于删除符合条件的记录;更新查询用于更新符合条件的记录;追加查询用于向表中添加新记录;生成表查询用于建立新的数据库表。 5. SQL查询 SQL是结构化查询语言(Structured Query Language)的缩写,是关系数据库的标准操作语言,利用SQL语言可以实现关,系数据库的所有操作。 Access中建立的所有查询都对应于一个SQL命令(语句)。对于一些常见的查询而言,可以用查询向导或查询设计器建立,可以

4、在SQL视图中查看自动生成对应的SQL语句。对于某些复杂的查询,用查询向导或查询设计器可能无法创建,必须用SQL命令直接建立这样的查询,Access的“SQL特定查询”就是这类查询。 可以通过直接输入查询所对应的SQL语句来建立查询,这就是SQL查询。 4.1.2 查询中的表达式、函数 一般把实现某种运算的式子叫做表达式。各种类型的运算量都可以通过相应的表达式进行运算处理。Access中常用的表达式有算术表达式、字符表达式、日期表达式、关系表达式、,逻辑表达式等。 1. 算术表达式 算术表达式是由算术运算符连接数值型(数字型、货币型)运算量(常量、字段或函数)组成的有运算意义的式子。算术表达式

5、的运算结果是一个数值。Access算术运算符如表4-1所示。 需要特别注意:乘方、取模运算,乘方运算符不可以用两个连续的乘号表示,取模运算的运算符是Mod(在表达式中Mod运算符两端必须留空格符)。 算术表达式的计算次序是最内层括号优先计算,然后逐级向外层括号展开,在同级括号内,按“先乘方、再乘除之后整除、然后取模、最后加减”的顺序进行计算,如果运算级别相同(乘和除,加和减),则从左到右计算。,2. 字符表达式 字符串只能进行连接运算,运算符为“+”和“&”两种,其作用相同。连接运算是把第二个字符串(常量、字段或函数)接续到第一个字符串(常量、字段或函数)末尾形成一个结果字符串的运算。例如,“

6、AAA“ & “Abc“的结果是字符串“AAAAbc“。再比如,民族 + “族“,其运算结果是在民族字段值之后连接一个“族”字(tStudent表民族字段值均省略了“族”字)。 “+”运算符只能连接两个字符串,“&”运算符则可以连接不同类型的运算量。&运算时,首先把非字符串类型的运算量转换为字符串,然后再连接相应的字符串。 3. 日期表达式 日期表达式有如下几种类型: 日期型量(常量、字段或函数)加上一个整型值n,结果,为从相应日期起,n天后的日期; 日期型量(常量、字段或函数)减去一个整型值n,结果为从相应日期起,n天前的日期; 两个日期(常量、字段或函数)相减,结果是二者之间相差的天数。

7、4. 关系表达式 关系表达式是由关系运算符连接两个同类型运算量(常量、字段或函数)所形成的有运算意义的式子。关系运算表达式中可以包含圆括号。 关系运算符连接的运算量中如果包含算术表达式、字符连接表达式、日期表达式,则这些表达式优先计算。包含括号时,优先计算内层括号内的式子。,关系表达式的结果为“真”(用True表示)或“假”(用False表示)。当比较条件成立时,运算结果为True,否则运算结果为False。 需要注意的是字符串之间的关系运算, ASCII字符按其字符编码大小进行比较,汉字是按选项设置中设置的“新建数据库排序次序”进行比较的。 5. 逻辑表达式 逻辑表达式是由逻辑型运算量(Tr

8、ue、False、是/否型字段或函数、关系表达式)和逻辑运算符组成的、有运算意义的式子。逻辑运算符已经在3.2.4节介绍过,在此不再赘述。 为清晰和安全起见,在输入逻辑运算符时,一般在运算符前后需要各留一个空格。,6. 区间判断 区间判断适用于任何数据类型的表达式,其语法格式如下: Not Between And 当表达式结果大于或等于区间下界值并且小于或等于区间上界值时,表达式结果为True,否则为False。例如,下列表达式: 出生日期 Between #1992/1/1# And #1994/1/1# 当记录的出生日期字段值在1992年1月1日至1994年1月1日之间(含边界值)时,返回

9、结果为True。 7. 子集合判断 子集合判断同样适用于任何数据类型的表达式,其语法格式如,下: Not IN () 如果表达式结果存在于集合元素列表中则判断结果为True,否则为False。子集合判断特别适合于取值较多且不连续的情况,这时用逻辑表达式表示会很复杂。 8. 字符串匹配、空值判断 字符串匹配运算用于测试指定字符串表达式的值是否与指定匹配字符串匹配,其语法结构如下: Not Like 如果表达式与匹配字符串匹配则运算结果为True,否则运算结果为False。,空值判断语法格式如下: Is Not Null 未选择Not选项时,如果表达式的值是空值,则返回True,否则返回False

10、。选择了Not选项时,运算结果正好相反。 9. 表达式计算次序 Access中的表达式一般比较简单,如果表达式中包含多种运算,可以使用圆括号指定计算次序。圆括号可以嵌套使用,计算时,优先计算内重括号,逐次扩展计算外层括号。同级括号内先计算函数,然后计算算术表达式、字符表达式、日期表达式,之后进行关系运算、区间判断、集合判断、字符串匹配判断和空值判断,最后进行逻辑运算。,10. 常用函数 函数是系统提供的、可以直接在表达式中使用的预定义运算。常用的函数如表4-2、表4-3所示,表中函数需要熟记并能熟练应用。 【例4-1】tStudent表中保存的是大学生记录,显然,学生入学时有一个合理的年龄范围

11、,怎样控制出生日期的合理性呢?假定学生的年龄在1065岁之间。 【解答】当前的系统时间可以由函数Date()得到,Date()10*365约是10年以前,同样,Date()65*365约是65年以前。定义“出生日期”字段的字段有效性规则如下: =Date()-65*365 And Date()-10*365 该有效性规则基本可以把出生日期时间控制在录入数据时,1065岁区间。把上述有效性规则表达式改为: =DateSeral(Year(Date()-65,1,1) And FROM | WHERE GROUP BY HAVING ORDER BY ASC | DESC , ASC | DESC

12、 ,通常,SQL语句的关键字字母全部大写。选择ALL选项输出所有查询结果行,选择DISTINCT选项将过滤掉查询结果中重复出现的行;输出表达式序列是用逗号分隔的字段运算表达式列表,可以指定输出列的列名;查询对象列表中给出每个要查询的表;JOIN选项用于进行多表连接查询;WHERE选项用于指定查询结果行的过滤条件,只有满足条件的结果行才被输出;GROUP BY选项用于对查询结果行进行分组统计处理,分组字段列表值相同的结果行将被作为一个统计分组进行汇总;HAVING选项只能与GROUP BY选项结合使用,其作用是把分组结果中满足筛选条件的分组保留下来,其他不满足条件的分组则不予输出;ORDER B

13、Y选项用于结果排序,查询结果可以按指定的排序字段值升序(选ASC)或降序(选DESC)排列,当指定多个排序字段时,依次按第一个字段的指定顺序排序,第一,个字段值相同时继续按第二个字段值顺序排序,依此类推。 SQL语句(包括SQL SELECT语句)可以在一行内或多行书写,关键字、逻辑运算符等与其他语法内容之间须留有空格。在SQL语句中,字段名可以不加方括号。 1. 输出表达式 输出表达式可以是字段(列)名、字段(列)名表达式、星号。当输出表达式为字段名时,对应输出列的显示标题即为该字段的字段名(或指定的标题)。如果输出表达式是一个字段运算表达式,对应输出列的显示标题由系统指定。可以在命令中指定

14、显示标题,格式如下: AS 【例4-2】用SQL SELECT语句查询每个学生的学号、姓名、,性别、年龄、民族。 【解答】显然,tStudent表中没有“年龄”字段,因此需要计算求得年龄。实际上,年龄可以通过当前年度减去出生日期年度计算求得,符合要求的SQL SELECT语句为: SELECT 学号, 姓名, 性别, Year(Date()-Year(出生日期) AS 年龄, 民族 FROM tStudent,查询结果,在查询设计器中运行SQL语句的方法如下: (1) 在数据库操作界面中选择“查询”对象; (2) 双击对象显示子窗口中的“在设计视图中创建查询”,系统打开查询设计视图并立即打开“

15、显示表”对话框,用于向查询设计视图中添加表/查询,如下图所示;,(3) 关闭“显示表”对话框,然后右击查询设计视图窗口上部空白处,在弹出的快捷菜单中选择“SQL视图”命令,或选择“视图”“SQL视图”命令,系统自动打开SQL语句设计器视图,直接在视图中输入上述SQL SELECT语句,如下图所示。语句末尾一般要加一个分号作为语句结束符,不加亦可;,(4) 单击“运行”按钮,或选择“查询”“运行”命令,均可运行查询,选择“视图”“SQL视图”命令可以切换回SQL语句设计器视图; (5) 单击SQL语句设计器视图窗口中的“关闭”按钮,系统显示保存查询提示对话框,可以选择保存设计好的查询。 如果查询

16、某个表的所有字段,不必依次列出所有字段,用星号即可,例如,下列语句可以查询输出tStudent表的所有信息: SELECT * FROM tStudent 查询结果中可能有重复的输出结果行,在输出表达式列表之前选择DISTINCT选项可以去掉重复的行,例如,下面,的语句将只输出“男”、“女”两种性别,如下图所示。 SELECT DISTINCT 性别 FROM tStudent,2. 查询对象列表 如果查询对象只有一个,不需要JOIN选项。有多个查询对象时,可以选择查询对象列表,也可以选择JOIN选项。查 询对象列表中有多个查询对象时,先生成这些查询对象的笛,卡尔积。例如,下列语句将输出tTeacher表、tCourse表的笛卡尔积,如下图所示。 SELECT * FROM tTeacher, tCourse,选择查询对象列表时,SQL SELECT语句的执行过程如下: (1) 读取查询对象列表中指定的表,执行笛卡尔积操作; (2) 选取满足WHERE选项中给出的条件(逻辑表达式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号