第3章 查询设计_第1页
第3章 查询设计_第2页
第3章 查询设计_第3页
第3章 查询设计_第4页
第3章 查询设计_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、引航教育引航教育数据库案例教程数据库案例教程引航教育引航教育引航教育引航教育大纲要求大纲要求考点与重难点:考点与重难点: 理论主要考查查询类型、各类查询的作用及设计要点、查询理论主要考查查询类型、各类查询的作用及设计要点、查询准则(表达式)、准则(表达式)、SQL语句语句 机试中题型主要在机试中题型主要在简单应用题简单应用题和和综合应用题综合应用题中出现中出现查询分类:选择查询、参数查询、交叉表查询、操作查询、查询分类:选择查询、参数查询、交叉表查询、操作查询、SQL 查询。查询。查询准则:运算符、函数、表达式。查询准则:运算符、函数、表达式。创建查询:用向导创建查询、使用设计器创建查询、在查

2、询中计算。创建查询:用向导创建查询、使用设计器创建查询、在查询中计算。操作已创建的查询:运行已创建的查询、编辑查询中的字段、编辑查询中操作已创建的查询:运行已创建的查询、编辑查询中的字段、编辑查询中的数据源、排序查询的的数据源、排序查询的结果。结果。Access查询简介查询简介选择查询设计选择查询设计特殊用途查询设计特殊用途查询设计操作查询设计操作查询设计SQL查询设计查询设计查询简介查询简介 表是有组织地存储数据的场所,当表中存储了海量的数据,如何从水海表是有组织地存储数据的场所,当表中存储了海量的数据,如何从水海量数据中提取、统计相关的信息来指导我们的决策呢?量数据中提取、统计相关的信息来

3、指导我们的决策呢? 查询能够查询能够依据一定条件依据一定条件将将一个或多个表中的数据抽取出来,提供用户查看、一个或多个表中的数据抽取出来,提供用户查看、更改和分析使用。查询可以作为窗体更改和分析使用。查询可以作为窗体、报表和数据库访问页的记录报表和数据库访问页的记录源源查询作用和查询作用和功能功能 选择字段:选择字段:查询可从一个或多个表中选取感兴趣的字段,也可以实现通过查询可从一个或多个表中选取感兴趣的字段,也可以实现通过选择一个或多个表选择一个或多个表中中的字段生成所需的数据表的字段生成所需的数据表。 选择记录:选择记录:选择出满足根据指定条件(查询准则)的数据记录。选择出满足根据指定条件

4、(查询准则)的数据记录。 编辑记录:编辑记录:利用操作查询,可以对表中的记录进行添加、修改、删除操作。利用操作查询,可以对表中的记录进行添加、修改、删除操作。 实现计算:实现计算:查询可以对数据进行各种统计计算,如求平均成绩等。也可建查询可以对数据进行各种统计计算,如求平均成绩等。也可建立计算字段(建立立计算字段(建立一一个新的字段)来保存计算的结果个新的字段)来保存计算的结果。 建立新表:建立新表:查询结果可以作为一个表保存起来。查询结果可以作为一个表保存起来。 建立基于查询的报表、窗体建立基于查询的报表、窗体:查询是一个动态集合,可从多个表中选择合:查询是一个动态集合,可从多个表中选择合适

5、的数据,作为适的数据,作为其他其他查询、窗体或报表的数据源查询、窗体或报表的数据源。创建查询的基本思路创建查询的基本思路 从哪些数据源,也就是表中选择数据从哪些数据源,也就是表中选择数据 显示数据中的哪些字段显示数据中的哪些字段 选择选择数据时要满足哪些条件数据时要满足哪些条件 是否对数据分组,按什么字段分组是否对数据分组,按什么字段分组 显示的数据是否要排序按哪些字段如何排序显示的数据是否要排序按哪些字段如何排序查询工具栏查询工具栏引航教育引航教育选择查询设计选择查询设计知识要点知识要点(1)单表查询)单表查询(2)多表查询)多表查询(3)字段中字段中“*”号的作用:号的作用:代表所有代表所

6、有字段字段(4)计算字段:计算字段:实质上就是在设计网格的字段行中,输入表达式,系统实质上就是在设计网格的字段行中,输入表达式,系统根据该表达式计算出一系列值根据该表达式计算出一系列值,并作为查询结果中的一列。一般计算字段并作为查询结果中的一列。一般计算字段要与字段重命名相结合,将计算的列赋予一个指定标题要与字段重命名相结合,将计算的列赋予一个指定标题。(5)字段重命名方法:字段重命名方法:新字段名新字段名:原字段名(或表达式原字段名(或表达式)例如,计算字段教龄的例如,计算字段教龄的设计设计 教龄教龄:year(date()-year(工作时间工作时间)(6)条件条件 and 和和 or 的

7、设置的设置例:在数据库例:在数据库“教学管理教学管理.accdb”中,要求完成如下工作:中,要求完成如下工作:1、创建、创建“教师教师工作时间工作时间-姓名姓名-职称查询职称查询”,查询,查询在在1990年到年到1995年之间参加年之间参加工作的、姓张的、职称不为空的教师信息工作的、姓张的、职称不为空的教师信息,结果显示所有字段。并添加一结果显示所有字段。并添加一“教龄教龄”字段字段思考:思考:1、数据源为?、数据源为?2、记录选择的条件是啥?、记录选择的条件是啥?3、要显示哪些字段?、要显示哪些字段?引航教育引航教育最终设计图最终设计图工作时间:工作时间:Between #1990/1/1#

8、 And #1995/12/31#姓名:姓名:Like “张张*”职称:职称:Is Not Null教龄:教龄:Year(Date()-Year(教师教师!工作时间工作时间)引航教育引航教育表达式表达式表达式的是许多表达式的是许多Access操作的基本组成部分,是各种符号组操作的基本组成部分,是各种符号组合。在二级考试中至关重要。合。在二级考试中至关重要。何时使用表达式:何时使用表达式: 字段属性的字段属性的有效性规则、默认值有效性规则、默认值 数据表中的数据表中的筛选筛选 查询中的查询中的准则、计算字段准则、计算字段 窗体或报表中的窗体或报表中的计算控件计算控件 条件宏中的条件宏中的条件条件

9、 VBA程序设计中的程序设计中的语句语句引航教育引航教育表达式的基本符号表达式的基本符号 :将窗体、报表、字段或控件的名称用方括号将窗体、报表、字段或控件的名称用方括号包围包围如如学生学生.性别性别# :将日期用将日期用#号号包围包围2023-3-9“”:将文本用双引号将文本用双引号包围包围“等级考试等级考试”& :可以将两个文本连接为一个文本可以将两个文本连接为一个文本串串,如,如“北京北京”&“奥运奥运”,则运算后等于,则运算后等于“北北京奥运京奥运”!运算符:运算符指出随后出现的是用户定运算符:运算符指出随后出现的是用户定义项义项订单订单!订单订单ID.value. 运算

10、符:随后出现的是运算符:随后出现的是 Access 定义的项定义的项。学生学生.性别性别计算控件:计算控件:设置计算控件的表达式时,必须在表达式前加等号(设置计算控件的表达式时,必须在表达式前加等号(=)引航教育引航教育功功 能能运算符运算符算术运算符算术运算符+, -, *, /, mod, 等比较运算符比较运算符=,, = ,= , NOT+上述比较运算符逻辑运算符逻辑运算符AND ,OR, NOTSQL 条件中的特殊运算符条件中的特殊运算符BETWEEN AND , IN, LIKE, IS NULL, IS NOT NULL函数函数now(), left(), right(), sum

11、(), avg()等等ACCESS 中的对象中的对象字段,窗体或表报中的控件的值、属性扩符扩符( )用来改变运算次序表达式示例:表达式示例:计算字段计算字段求工龄:求工龄:year(now()-year(工作日期工作日期) as 工龄工龄查询准则查询准则查找查找 40 到到 50 岁之间的男教师:岁之间的男教师:(年龄年龄between 40 and 50) and (性别性别=“男男”)引航教育引航教育表达式的主要内容表达式的主要内容 查询准则的书写查询准则的书写 常见函数、表达式生成器的使用常见函数、表达式生成器的使用ACCESS 中各种数据类型分类中各种数据类型分类基本数据类型基本数据类

12、型对应的对应的 ACCESS 数据类型数据类型书写方式书写方式数值数字、自动编号、货币直接书写:30,5.5字符串文本、备注、查阅向导、超级链接加引号:”中国”时间/日期时间/日期加#号:#2010-7-30#NULL空值特殊值: null引航教育引航教育SQL 条件中的运算符条件中的运算符功功 能能运算符运算符比较运算符=,, = ,= , ,!,!=,!, = ,= , ,!,!,!=,!= 15) and (年龄年龄#2023-9-1#入校时间为入校时间为2023.9.1之后之后字符串类型示例:字符串类型示例:姓名姓名=“张三张三”姓名为张三的姓名为张三的注意:在注意:在Access查询

13、设计视图准则中,可以不写字段名,且等号可省略,查询设计视图准则中,可以不写字段名,且等号可省略,但必须条件是运用在对应字段的准则中但必须条件是运用在对应字段的准则中引航教育引航教育(not)between 值值1 and 值值2 值值1 和和值值2 之间,包括值之间,包括值1值值2 确定范围确定范围 数值类型示例:数值类型示例:年龄年龄 between 15 and 20(年龄年龄 = 15) and (年龄年龄 between #2023-9-1# and #2023-10-1# 引航教育引航教育确定集合确定集合(not)in(值值 1,值,值 2,值,值 n)所给定的值应该出现在值所给定的

14、值应该出现在值 1 到值到值 n 之中,出现则结果为之中,出现则结果为 true(真真)、否则为、否则为 false(假假)。前面加。前面加 not 表表示不在给定的值之中。可用于数字、时间、字符串示不在给定的值之中。可用于数字、时间、字符串(文本文本)数据类型数据类型。 数值类型数值类型示例示例年龄年龄 in (15 ,17,19) 年龄年龄为为 15,或,或 17,或,或 19 岁岁 时间时间/日期类型日期类型示例示例入校日期入校日期 in(#2005-9-3#, #2010-9-3#)入入校校时间是在时间是在 2005-9-3 和和 2010-9-3 均均可可 字符串类型示例字符串类型示

15、例姓名姓名 in (“张三张三”,”李四李四”,”王五王五”) 姓名为张三,或李四,或王五姓名为张三,或李四,或王五引航教育引航教育字符串匹配字符串匹配 NOT LIKE查找指定的属性列值与查找指定的属性列值与相匹配的元组,匹配则结果为相匹配的元组,匹配则结果为 true(真真)、否、否则为则为 false(假假)。前面。前面加加not 表示不匹配。表示不匹配。可以是一个完整的字符串,可以是一个完整的字符串,也可以含有通配符。仅用于字符串也可以含有通配符。仅用于字符串。示例示例姓名姓名 like “张三张三”等价等价于于姓名姓名=“张三张三”姓名姓名 like “张张*”姓张的姓张的学生学生姓

16、名姓名 like “张?张?”姓张的学生,并且是姓名为两个字姓张的学生,并且是姓名为两个字的的姓名姓名 like “?”姓名是四个字的姓名是四个字的学生学生引航教育引航教育空值比较空值比较IS (NOT) NULL查找指定的属性列的值是否为空(查找指定的属性列的值是否为空(null)的元组,为空则结果)的元组,为空则结果为为 true(真真)、否则为、否则为 false(假假)。 示例示例照片照片 is null查找没有添加照片的学生查找没有添加照片的学生记录记录照片照片 is not null查找添加了照片的学生查找添加了照片的学生记录记录 注意空值与空字符串的区别注意空值与空字符串的区别空

17、值:空值:NULL,表示未知的值。当进行比较时,只能用,表示未知的值。当进行比较时,只能用 is null 或或 is not null。空字符串空字符串: “”,即字符串长度为,即字符串长度为 0。比较时用。比较时用姓名姓名=“”,表示,表示姓名为空字符串的情况姓名为空字符串的情况引航教育引航教育常见函数、表达式生成器的常见函数、表达式生成器的使用使用数值函数数值函数函数函数说明说明Abs(数值表达式)返回数值表达式的绝对值 abs(-1)=1Int(数值表达式)返回不大于数值表达式的整数 Int(9.59)=9,Int(-9.59)=-10Fix(数值表达式)为截断取整,即去掉小数后的数

18、Fix(9.59)=9Sqr (数值表达式)返回数值表达式的平方根Cint(数值表达式)将数值表达式转换为整数,四舍五入。Cint(1.35)=1,Cint(1.55)=2Sgn(数值表达式)返回数值表达式的符号值。数值表达式0,返回 1;=0,返回 0;=60分的课程,毕业要求学生必分的课程,毕业要求学生必须达到须达到30学分。学分。引航教育引航教育例:例:利用数据库利用数据库“教学管理教学管理”创建一总计查询创建一总计查询“各部门年工资支出总计查询各部门年工资支出总计查询”以以部门人员、部门信息和工资表为数据源,统计各部门每年的工资支出。显示部门人员、部门信息和工资表为数据源,统计各部门每

19、年的工资支出。显示部门名称和各部门工资年支出字段。部门名称和各部门工资年支出字段。各部门工资支出各部门工资支出=(工资工资!基本工资基本工资+工工资资!奖金奖金+工资工资!津贴津贴+工资工资!保险保险)*12引航教育引航教育用合计也可以用合计也可以引航教育引航教育交叉表查询交叉表查询交叉表查询需指定三种字段交叉表查询需指定三种字段行标题:行标题:显示在查询结果最左侧的字段名,行标题字段可以设置多个字段。显示在查询结果最左侧的字段名,行标题字段可以设置多个字段。列标题:列标题:显示在每列标题上的字段名,列标题只能设置一个字段。显示在每列标题上的字段名,列标题只能设置一个字段。值:值:在行、列交叉

20、位置上统计的值,可以利用各种数据函数计算的结果,在行、列交叉位置上统计的值,可以利用各种数据函数计算的结果,实质上是按行标题、实质上是按行标题、列列标题分组后得到的每个小组内记录的统计结果标题分组后得到的每个小组内记录的统计结果。不不选择:选择:在交叉表查询中在交叉表查询中作为条件作为条件的字段,则不选择任何交叉表字段类型。的字段,则不选择任何交叉表字段类型。 交叉表查询是交叉表查询是 ACCESS 特有的一种查询,以表的形式显示出摘要数据,便特有的一种查询,以表的形式显示出摘要数据,便于分析比较。交叉于分析比较。交叉查询查询将查询字段分为两组,一组显示在表左侧(称为行将查询字段分为两组,一组

21、显示在表左侧(称为行标题),一组显示在表的顶部(称为列标题),在行标题),一组显示在表的顶部(称为列标题),在行与与列交叉的地方显示列交叉的地方显示对相关数据进行总和、平均、计数等统计计算的结果。下表交叉表查询显对相关数据进行总和、平均、计数等统计计算的结果。下表交叉表查询显示出了各示出了各系系不同职称教师的人数信息不同职称教师的人数信息。引航教育引航教育 创建方法:创建方法:使用使用“查询向导查询向导”:针对数据来自单一数据源情况针对数据来自单一数据源情况使用设计视图:使用设计视图:针对数据来自多数据源情况。针对数据来自多数据源情况。引航教育引航教育例例:用教学管理数据库,完成如下用教学管理

22、数据库,完成如下:利用查询向导创建利用查询向导创建“各系各职称教师人数各系各职称教师人数交叉表查询交叉表查询”,结果要求行标题为系别,列标题为职称,值为教师总人数。结果要求行标题为系别,列标题为职称,值为教师总人数。引航教育引航教育引航教育引航教育引航教育引航教育例例:用教学管理数据库,完成如下用教学管理数据库,完成如下:利用查询设计创建利用查询设计创建“学生合格门数学生合格门数-所获学所获学分分-各课成绩交叉表查询各课成绩交叉表查询”,结果要求行标题为学生编号、学生姓名、合格门结果要求行标题为学生编号、学生姓名、合格门数、总计学分、列标题为课程名称,值为譔课程成绩。数、总计学分、列标题为课程

23、名称,值为譔课程成绩。引航教育引航教育交叉运行结果交叉运行结果引航教育引航教育操作查询操作查询操作查询分类:操作查询分类:(1)生成表查询:)生成表查询:可从一个或多个表中提出所需数据,并生成一个指定名称可从一个或多个表中提出所需数据,并生成一个指定名称的新表。实现了的新表。实现了 SQL中的中的 Create Table 语句语句。(2)删除查询:)删除查询:一次删除一批满足一定筛选条件的记录。实现了一次删除一批满足一定筛选条件的记录。实现了 Delete 语句。语句。(3)追加查询:)追加查询:将符合一定条件的记录添加到另一个现有的表中。实现了将符合一定条件的记录添加到另一个现有的表中。实

24、现了 Insert语句语句。(4)更新查询:)更新查询:将一批满足条件的记录进行更新(或修改将一批满足条件的记录进行更新(或修改)实现)实现了了 Update语语句句。操作查询注意要点。操作查询注意要点。(1)执行操作查询:要想执行特定的数据操作,不能只通过查看)执行操作查询:要想执行特定的数据操作,不能只通过查看“数据表视图数据表视图”来完成,来完成,必须必须点点击工具栏上方击工具栏上方的的运行查询按钮运行查询按钮。(2)操作查询结果:操作查询对于表的修改是不能用)操作查询结果:操作查询对于表的修改是不能用“撤消撤消”来恢复的,所以在进行操来恢复的,所以在进行操作时,作时,注注意对表进行备份

25、(即复制原表作为附本)意对表进行备份(即复制原表作为附本)。(3)查看操作查询的结果:不能通过)查看操作查询的结果:不能通过“数据表视图数据表视图”来查看,而只能查看相关操作的数来查看,而只能查看相关操作的数据表中据表中的的数据才能看到结果数据才能看到结果。引航教育引航教育生成表生成表查询查询事例事例例:在教学管理数据库中完成:创建一生成表查询例:在教学管理数据库中完成:创建一生成表查询“计算机系教师信息生成计算机系教师信息生成表表”,创建,创建“计算机系教师信息表计算机系教师信息表”。要求将教师。要求将教师姓名姓名字段在新表中拆分为字段在新表中拆分为“姓姓”和和“名名”两个字段来存放。两个字

26、段来存放。引航教育引航教育追加追加查询查询事例事例例:在教学管理数据库中完成:创建追加查询例:在教学管理数据库中完成:创建追加查询“追加数学系教师记录查询追加数学系教师记录查询”,“数学系教师备份数学系教师备份”为一空表(其中教师编号为主键,姓名为必填字段)。将为一空表(其中教师编号为主键,姓名为必填字段)。将教师表中数学系教师的记录添加到教师表中数学系教师的记录添加到“数学系教师备份数学系教师备份”表中。表中。首先利用复制粘贴创建一个首先利用复制粘贴创建一个“数学数学系教师系教师备份备份”表表引航教育引航教育创建查询,点击追加查询设计查询格式,创建查询,点击追加查询设计查询格式,注意注意:因

27、为教师编号因为教师编号为主键,姓名为必填,所以这两个字段必须添加为主键,姓名为必填,所以这两个字段必须添加引航教育引航教育删除删除查询查询事例事例例:在教学管理数据库中完成:创建例:在教学管理数据库中完成:创建“系系-职称职称-老师删除查询老师删除查询”,以,以教师备份表教师备份表为数据源,实现通过在参数对话框中输入系别、职称,删除相应系及职称的为数据源,实现通过在参数对话框中输入系别、职称,删除相应系及职称的教师记录。提示信息为教师记录。提示信息为“请输入要删除老师所在系别请输入要删除老师所在系别”, “请输入要删除老师请输入要删除老师所所获职称获职称”考查的是删除查询与参数查询相结合,点击

28、删除查询后,把条件考查的是删除查询与参数查询相结合,点击删除查询后,把条件转换转换成输入成输入框就行框就行引航教育引航教育更新更新查询查询事例事例例例1:在教学管理数据库中完成:利用学生且,使女学生的年龄都加:在教学管理数据库中完成:利用学生且,使女学生的年龄都加1UPDATE 学生学生 SET 学生学生.年龄年龄 = 学生学生!性别性别+1WHERE (学生学生.性别性别)=女女);引航教育引航教育 SQL 查询查询 ACCESS 可以直接使用可以直接使用 SQL 结构化查询语句来建立复杂而功能强大的查询。结构化查询语句来建立复杂而功能强大的查询。我们知道,事实上我们知道,事实上利利用用“设

29、计设计”视图创建的查询都是基于视图创建的查询都是基于 SQL 的的SQL 查询分类查询分类:(1)联合查询()联合查询(union):):两个或多个含有相同信息的独立查询联合为一个两个或多个含有相同信息的独立查询联合为一个信息信息表表.(2)子查询:)子查询:在查询语句在查询语句 select 的规则中还可以包含其它的规则中还可以包含其它 select 查询语句,查询语句,把包含在其它查询中的把包含在其它查询中的(3)数据定义查询:创建、更改、删除表或索引。基本上都可由操作查询来)数据定义查询:创建、更改、删除表或索引。基本上都可由操作查询来完成完成。(4)传递查询:将)传递查询:将 SQL

30、语句直接发送给语句直接发送给 ODBC 数据库服务器,从而对其他数据库服务器,从而对其他数据库进行操。即数据库进行操。即查询查询不在本数据中执行,而是传递给另一个数据库来执行。不在本数据中执行,而是传递给另一个数据库来执行。使用传递查询时,不必与服务器上的表链接,使用传递查询时,不必与服务器上的表链接,就就可以直接使用应用的表。应可以直接使用应用的表。应用传递查询的主要目的是为了减少网络负荷用传递查询的主要目的是为了减少网络负荷。引航教育引航教育SELECT 查询查询语句语句(1)的基本)的基本语法语法SELECT ALL /DISTINCT,FROM ,WHERE GROUP BY HAIN

31、GORDER BY ASC/ DESC其中其中表示在实际的语句中要采用表示在实际的语句中要采用所需内容进行代替所需内容进行代替表示可以根据需要进行选择,也可表示可以根据需要进行选择,也可以不选以不选表示必选项表示必选项SELECT 说明:说明:为了从海量数据中筛选出我们感兴趣的数据,我们必须有一定过程,这一过程描述如下。为了从海量数据中筛选出我们感兴趣的数据,我们必须有一定过程,这一过程描述如下。 从(从(From)哪些数据源或表(表名跟在)哪些数据源或表(表名跟在 from 后面)中。(连接运算)后面)中。(连接运算) 选择出满足一定条件(选择出满足一定条件(where 后条件语句决定)的记

32、录。(选择运算)后条件语句决定)的记录。(选择运算) 显示数据中的哪些字段。由显示数据中的哪些字段。由 select 后的字段列表决定,用后的字段列表决定,用*号表示数据中的所有字段,号表示数据中的所有字段,并且可对并且可对数据数据进行汇总计算。(投影运算进行汇总计算。(投影运算) 在选择数据时是否要分组,按什么字段分组。由在选择数据时是否要分组,按什么字段分组。由 group by 后的字段列表决定。后的字段列表决定。 显示的数据是否要排序,按哪些字段如何排序(显示的数据是否要排序,按哪些字段如何排序(order by 完成。完成。ASC 升序,升序,DESC 降序,默认为降序,默认为 AS

33、C)。)。 对选择出的记录,是否要消除重复记录(对选择出的记录,是否要消除重复记录(DISTINCT)。)。引航教育引航教育SELECT 查询查询语句语句示例:查询学生考试合格课程门数和总学分示例:查询学生考试合格课程门数和总学分SELECT 学生学生.学生编号学生编号,学生学生.姓名姓名,Count(选课成绩选课成绩.课程编号课程编号) as 合格课合格课程门数程门数,Sum(课程课程.学分学分) as 总获学分总获学分 /*要求显示的列及统计信息要求显示的列及统计信息From 学生学生,课程课程,选课成绩选课成绩 /*说明从哪几个表中查询说明从哪几个表中查询Where 选课成绩选课成绩.成

34、绩成绩=60 /*说明查询的条件是什么说明查询的条件是什么Group by 学生学生.学生编号学生编号,学生学生.姓名姓名 /*根据学生编号和姓名分组根据学生编号和姓名分组Order by 学生学生.学生编号学生编号 /*根据学生编号的升序排序根据学生编号的升序排序引航教育引航教育 联合查询联合查询(关键字关键字union):两两个或多个含有相同信息的独立查询联合为一个信息表。如:个或多个含有相同信息的独立查询联合为一个信息表。如:SELECT FROM 数据源数据源 1unionSELECT FROM 数据源数据源 2注意:注意:字段列表字段列表 1 和和 字段列表字段列表 2 中字段的个数

35、和顺序必须相同。中字段的个数和顺序必须相同。相应的字段还必须有兼容型数据。相应的字段还必须有兼容型数据。 引航教育引航教育联合联合查询查询事例事例例:在教学管理数据库中完成:创建联合查询例:在教学管理数据库中完成:创建联合查询“雇员联合查询雇员联合查询”。以。以雇员表雇员表和和82年出生雇员表年出生雇员表为数据源,结果包含为数据源,结果包含雇员表中食品部门雇员表中食品部门和和82年出生雇员表中年出生雇员表中男雇员的记录男雇员的记录,结果显示,结果显示雇员号、雇员姓名、性别、和所在部门字段雇员号、雇员姓名、性别、和所在部门字段。创建思路:可以先创建一个空的查询,利用设计视图创建两个查询,然后将创

36、建思路:可以先创建一个空的查询,利用设计视图创建两个查询,然后将其转换成其转换成SQL语句,将其复制联合在一起。语句,将其复制联合在一起。雇员表中食品部门雇员表中食品部门SELECT 雇员雇员.雇员号雇员号, 雇员雇员.雇员姓名雇员姓名, 雇员雇员.性别性别, 雇员雇员.所在部门所在部门FROM 雇员雇员WHERE (雇员雇员.所在部门所在部门)=食品食品);转换成转换成SQL语句语句引航教育引航教育82年出生雇员表中男雇员的记录年出生雇员表中男雇员的记录SELECT 82年出生雇员年出生雇员.雇员号雇员号, 82年出年出生雇员生雇员.雇员姓名雇员姓名, 82年出生雇员年出生雇员.性别性别,

37、82年出生雇员年出生雇员.所在部门所在部门FROM 82年出生雇员年出生雇员WHERE (82年出生雇员年出生雇员.性别性别)=男男);转换成转换成SQL语句语句引航教育引航教育用关键字用关键字union将将其复制联合在一起其复制联合在一起SELECT 雇员雇员.雇员号雇员号, 雇员雇员.雇员姓名雇员姓名, 雇员雇员.性别性别, 雇员雇员.所在部门所在部门FROM 雇员雇员WHERE (雇员雇员.所在部门所在部门)=食品食品)unionSELECT 82年出生雇员年出生雇员.雇员号雇员号, 82年出生雇员年出生雇员.雇员姓名雇员姓名, 82年出生雇员年出生雇员.性别性别, 82年出生雇员年出生

38、雇员.所在部门所在部门FROM 82年出生雇员年出生雇员WHERE (82年出生雇员年出生雇员.性别性别)=男男)注意注意:联合时一定要去掉语句最后的联合时一定要去掉语句最后的;号号引航教育引航教育 子查询:在查询语句子查询:在查询语句 select 的规则中还可以包含其它的规则中还可以包含其它 select 查询语句,查询语句,把包含在其它查询中把包含在其它查询中的的select 查询称之为子查询。查询称之为子查询。如下如下面子查询结果是要面子查询结果是要显示显示:选修选修了课程编号为了课程编号为“01”的学生的学生姓名姓名(但是学生表里无课程编号)(但是学生表里无课程编号)SELECT 姓

39、名姓名 FROM 学生学生WHERE 学生编号学生编号 IN (SELECT 学生编号学生编号 FROM 选课成绩选课成绩 WHERE 课程编号课程编号=01)注意:注意:子查询的子查询的 SELECT 语句不能定义联合查询或交叉表查询。语句不能定义联合查询或交叉表查询。一般子查询出现在条件一般子查询出现在条件 where 和数据源和数据源 from 后面。后面。引航教育引航教育查询习题讲解查询习题讲解(1)利用对话框提示用户输入查询条件,这)利用对话框提示用户输入查询条件,这样的查询属于(样的查询属于( )。)。A)选择查询)选择查询B)参数查询)参数查询C)操作查询)操作查询D)SQL 查询查询引航教育引航教育(2)若查询的设计如下,则查询的

温馨提示

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

评论

0/150

提交评论