二级access2010第三章查询
数据库Access-2010--查询
查询是能够将存储于一个或多个表 中符合要求的数据挑选出来,并对挑选 的结果按照某种规则进行运算的对象
下一页
返回
退出
二、查询的功能
1.选择字段; 目 录 2.选择记录; 上一页 3.数据集中; 下一页 4.实现计算;
5.编辑记录; 返 回 6.建立新表;
7.作为其它数据库对象的数据源
退出
三、查询的分类
创建时,需指定三种字段:
行标题字段(左侧)
列标题字段(上部)
总计项字段(行列交叉处)
(1)交叉查询
目录 上一页 下一页 返回
退出
(1)交叉查询
目录
创建方法
上一页
下一页
1.使用向导创建
返回 退出
(注意:该方法只能创建单数据源的交叉表查询。)
2.使用设计视图创建
(1)交叉查询
目 录 数据库(进销存) 例1.查询“sell”表中每一种商品每个季度的销
(2)设计视图
目录 上一页 下一页 返回
退出
例3:查询学生年龄,显示学生编号、姓名和年龄, 年龄升序 排 序,查询名L03。
①打开查询设计视图:新建→设计视图(或双击在设计视图中创 建查询);
② 显示表中选择数据源;
③字段行指定查询字段(三种方法:拖动,双击,选择),排序 行指定排序方式;
④保存并指定查询名称。
询
四、查询视图
目录 上一页 下一页 返回
显示查询的不同内容的窗口。 1.设计视图:用于设计(创建和编辑)查询。 2.数据表视图:以表的形式显示查询执行的结果。 3.SQL视图:用于查看或编辑查询时所用到的SQL语
句
退出
第二节 创建选择查询
目录 上一页 下一页 返回
《Access2010数据库基础教程》查询
3.4.1 在设计视图中创建查询
创建不带条件的 查询
可以基于单数 据源或者多数 据源的查询。 如基于多数据 源,则表间已 建立关系
创建带条件的查 创建要求用户输
询
入条件值的查询
可以基于单数 据源或者多数 据源的查询。 查询条件是关 系表达式,表 达式的运算结 果是一个逻辑 值
3.2.1 简单查询向导
【例3.2】查询每位住院病人的总费用,显示“病人编 号”、“病人姓名”和“总费用”3个字段。
3.2.2 交叉表查询向导
用户的查询需求需要对数据进行分类统计。交又表查询 显示来源于表中某个字段的统计值,并将它们分组放置 在查询表中。左侧列显示的字段是行标题,上侧列显示 的字段是列标题。
【例3.15】创建一个删除查询,删除“住院医生护士信息表 的副本”中所有的主任医生和副主任医生。
3.7 SQL查询
❖ 语句格式: SELECT <目标列表达式> [,<目标列表达式>] … FROM <表名>[, <表名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <列名2> [ ASC|DESC ] ];
说明 逻辑运算符
连接运算符
特殊运算符
查询条件中使用的各种运算符
3.3.2 查询条件中使用的函数
1、字符函数
求字串长度: Len(C) 取子串:Left(C,N)
Right(C,N) Mid(C,n1[,n2])
2、日期时间函数
Len([姓名])=2 Left([姓名],1)=“张” Right([姓名],1)=“中” Mid([姓名],2,1)=“平”
第3章 Access2010之查询
查询18天前参加工作的记录 查询20天之内参加工作的记录
查询2005年7月参加工作的记录
查询1998年前出生的学生记录 青海师范大学教育院
College of Education Qinghai Normal University
3
查询
➢ 使用字段的部分值作为查询条件
使用字段的部分值作为查询条件,可以方便地限定查询范围。查询条件的示例,如表3-7 所示。
➢ 使用数值作为查询条件
在创建查询时,可以使用数值作为查询条件。以数值作为查询条件的简单示例如表3-4所示。
表3-4 使用数值作为查询条件示例
字段名
条件
功能
<60
查询成绩小于60分的记录
成绩
Between 70 And 80 >=70 And <=80
查询成绩在70分至80分之间的记录
➢ 使用文本值作为No查t 90询条件
字段名 工作时间 出生日期
表3-6 使用处理日期结果作为查询条件示例
条件 Between # 98-01-01# And #98-12-31#
功能 查询1998年参加工作的记录
< Date( )-18
Between Date( ) And Date()-20 Year([工作时间])=2005 And Month([工作 时间])=7 Year([出生日期])<1998
青海师范大学教育院
College of Education Qinghai Normal University
3
查询
选择查询是根据给定的条件,从一个或多个数据源中获取数据并显示结果。也可以 利用查询条件对记录进行分组,并进行求和、记数、求平均值等运算。 1.创建选择查询
access2010第三章操作题
第一部分查询的条件设置1.关系运算> 、>= 、< 、<= 、<> 、=2.逻辑运算Not 、And 、Or3.特殊运算In 用于指定一个字段的取值列表,列表中的任意一个值都可以与查询字段相匹配。
Between …And …指定一个字段的取值范围(闭区间)Like 与* ? # [ ] 配合使用,进行模式匹配查找Is Null 判断字段取值是否为空Is Not Null 判断字段取值是否为非空4.常用的查询条件数值区间判断(1)成绩Between 60 And 100等价于:>=60 And <=100字符的判断(2)“教授” OR “副教授”等价于:Right([职称],2)= “教授”InStr([职称],“教授”)=1 OR InStr([职称],“教授”)=2IN(“教授”,“副教授”)(3) Left([姓名],1)=”王”等价于:Like “王*”InStr( [姓名],”王”)=1(4)Mid( [学号],5,2)=”03”等价于:InStr( [学号],”03”)=5日期判断(5) >=#1992-01-01# AND <=#1992-12-31#等价于:Year( [工作时间] )=1992Between #1992-01-01# And #1992-12-31#空值判断(6)查询“简历”字段为空并且成绩不及格的学生的信息。
Is Null AND <60第二部分打开文件夹下的数据库database1,里面已经建立了有关的表,利用这些表完成以下查询设计。
1. 根据”学生”和”成绩”表建立以下查询:(1)以表"学生"为数据源创建一个选择查询,查找并显示所有姓李并且年龄大于25岁,学生的"姓名"、"年龄"和"出生地"三个字段,查询命名为"qa1"。
数据库基础与应用(Access 2010) 第3章 表的操作
3.2 表的创建
3.2.1 创建表的方法 在 Access 2010 中创建表的方法有 5 种:使用设 计视图创建表、使用数据表视图创建表、使用表 模板创建表、使用字段模板创建表和通过导入外 部数据创建表。 1 .使用设计视图创建表 使用设计视图创建表是一种比较常见的方建 的。
4 .“默认值”属性 默认值( Default )是在输入新记录时自动取定 的数据内容。在一个数据库中,往往会有一些字 段的数据内容相同或者包含有相同的部分,为减 少数据输入量,可以将出现较多的值作为该字段 的默认值。
3.1.2 字段的数据类型 1. 文本型 文本型 (Text) 字段可以保存字符数据,也可以是 不需要计算的数字。设置“字段大小”属性可以控 制文本型字段能输入的最大字符个数,最多为 255 个字符。如果取值的字符个数超过了 255 ,可使用 备注型。 注意:在 Access 中,每一个汉字和所有特殊字 符 ( 包括中文标点符号 ) 都算为一个字符。 在 Access 中,文本型常量要用英文单引号 (′) 或 英文双引号 (″) 括起来。
5. 使用导入外部数据的创建表 Access 数据库有多种方法实现与其他应用项目的 数据共享,既可以直接从某个外部数据源获取数据 来创建新表或追加到已有的表中,也可以将表或查 询中的数据输出到其他格式的文件中。前者叫做数 据的导入,后者叫做数据的导出。
1 )从外部数据源导入数据 由于导入的外部数据的类型不同,导入的操作步 骤也会有所不同,但基本步骤是类似的。 Excel 电 子表格软件是 Microsoft Office 软件包的组件之一, 它有方便的表格计算和数据处理功能。
2 .“输入掩码”属性 可以利用输入掩码( Input Mask )强制实现某种 输入模式,使数据的输入更方便。定义输入掩码时, 将格式中不变的符号定义为输入掩码的一部分,这 样在输入数据时,只需输入变化的值即可。 对于文本、数字、日期 / 时间、货币等数据类型的 字段,都可以定义输入掩码。 Access 为文本型和日 期 / 时间型字段提供了输入掩码的向导,而对于数字 和货币型字段只能使用字符直接定义“输入掩码” 属性。当然,文本和日期 / 时间型字段的输入掩码也 可以直接使用字符进行定义。
3数据库应用技术Access - 查询(2010)
【操作步骤】 打开“学籍管理数据库”>创建>查询设计>选课表>添 加>关闭
>依次双击学生基本情况表、选课表、课程表
>设计>运行
>设计>生成表查询>输入生成新表名称>选课成绩表>确 定
查询多个表的数据 排序查询结果 指定筛选条件 创建计算字段 统计数据
排序查询结果
表中数据的存放顺序是固定的,可按照需要对数 据重新排序。
查询多个表的数据 排序查询结果 指定筛选条件 创建计算字段 统计数据
创建多表查询
实际工作中常需要从多个表中检索数据,查询多 表数据需要先创建表间关系,为多表查询创建条 件。
【例】在“学籍管理”数据库中,根据“学生基本情况 表”、“选课表”、“课程表”为数据,创建名为“学生 成绩查询”的选择查询,显示每个学生的学号、姓名、课 程编码、课程名称和成绩,然后生成“选课成绩表”。
查询的作用与分类 认识查询视图
◦ 查询是对数据源进行一系列检索的操作,它可以从表中 按照一定的规则取出特定的信息。
◦ 在取出数据的同时可对数据进行统计和计算,并按照要 求进排序并显示结果。
◦ 在Access中查询可实现以下功能: 选择字段、选择记录、编辑记录、实现计算、建立新
表、为窗体或报表等对象提供数据
(2)追加查询 追加查询是从一个或多个表中将一组记录追加到另一个
表的尾部的查询方式。
【例】在“学籍管理”数据库中,复制“教师基本情况 表”,将复制的表命名为“教师表”,只复制结构,建 立一个追加查询,将“教师基本情况表”中“职称”是 “讲师”的记录追加到“教师表”中。
【操作步骤】 打开“学籍管理数据库”>在表对象导航栏中选“教师基 本情况表”右击>复制>在导航栏中粘贴>名称为教师表 >仅结构
Access2010数据库第三章习题(2)
Access2010数据库第三章习题(2)第3章查询的创建与应⽤⼀、选择题1、利⽤对话框提⽰⽤户输⼊查询条件,这样的查询属于()。
A:选择查询 B:参数查询C:操作查询 D:SQL查询2、假设“公司”表中有编号、名称、法⼈等字段,查找公司名称中有“⽹络”⼆字的公司信息,正确命令是()。
A:SELECT * FROM公司FOR名称 = " *⽹络* "B:SELECT * FROM公司FOR名称LIKE "*⽹络*"C:SELECT * FROM公司WHERE名称="*⽹络*"D:SELECT * FROM公司WHERE名称LIKE"*⽹络*"3、已知“借阅”表中有“借阅编号”、“学号”和“借阅图书编号”等字段,每名学⽣每借阅⼀本书⽣成⼀条记录,要求按学⽣学号统计出每名学⽣的借阅次数,下列SQL语句中,正确的是()。
A:Select 学号,Count(学号) from 借阅B:Select 学号,Count(学号)from借阅Group By 学号C:Select 学号,Sum(学号) from 借阅D:Select 学号,Sum(学号)from 借阅 Order By 学号4、在学⽣借书数据库中,已有“学⽣”表和“借阅”表,其中“学⽣”表含有“学号”、“姓名”等信息,“借阅”表含有“借阅编号”、“学号”等信息。
若要找出没有借过书的学⽣记录,并显⽰其“学号”和“姓名”,则正确的查询设计是()。
A:B:C:D:5、在Access数据库对象中,体现数据库设计⽬的的对象是()。
A:报表 B:模块 C:查询D:表6、在书写查询准则时,⽇期型数据应该使⽤适当的分隔符括起来,正确的分隔符是()。
A:* B:% C:& D:#7、假设有⼀组数据:⼯资为3000元,职称为“讲师”,性别为“男”,在下列逻辑表达式中结果为“假”的是()。
《Access2010课程第三章教案A03_04
一、工作任务描述任务一: 创建交叉表查询a)角色:学生b)背景:由老师首先讲解参数查询的相关知识点,并演示交叉表查询的基本创建流程以及创建效果,再由学生分组讨论交叉表查询设计中行标题、列标题、以及总计行的指定规律以及各自的作用。
c)任务:①创建查询各班男女借阅者人数的交叉表查询,查询名为“借阅者人数”。
②对“借阅者人数”交叉表进行修改,在查询结果中添加各行小计,要求统计出各班男女学生的总人数。
二、项目目标1.知识目标:掌握交叉表查询的基本概念以及功能。
2.技能目标:(1)交叉表查询的创建流程。
(2)掌握行标题、列标题以及总计行的指定方法。
三、项目重点与难点重点:①交叉表查询的创建流程。
②行标题、列标题以及总计行的指定方法。
难点:①行标题、列标题以及总计行的指定方法。
四、教学准备1、教材――Access2010:第三章查询的创建与应用2、教学软件――Access 20103、实训设备(1)安装Access 2010的计算机(2)网络五、时间安排(总课时:2)添加各行小计,要求统计出各班男女学生的总人数。
1、项目分析在“图书借阅管理系统”使用的过程中,往往需要对数据进行分类统计,按照不同的字段对数据进行分类并统计。
本次任务我们通过创建“借阅者人数”的查询来学习如何创建交叉表,在借阅者表中,借阅者来自各个班级,而在每个班级中又存在男女借阅者,那么本次任务就是将所有的借阅者按照班级进行分组,并且将一个班级中的借阅者男女分组统计个数。
1)创建查询各班男女借阅者人数的交叉表查询,查询名为“借阅者人数”。
在创建交叉表查询时要根据题目判断出查询的行标题与列标题,如题目中未指定则将第一个出现的字段作为行标题,第二个出现的字段作为列标题。
图3-131查询效果图2)对“借阅者人数”交叉表进行修改,在查询结果中添加各行小计,要求统计出各班男女学生的总人数。
图3-132查询结果2、任务实施教学步骤教师组织和引导学生活动设计意图准备阶段创设情境老师讲解交叉表查询的基本知识并演示交叉表查询的基本创建流程。
二级access2010第三章查询
3.使用查找不匹配项查询向导
在关系数据库中,当建立了一对多的关系后,通 常“乙方”表的一条记录与“多”方表的多条记 录相匹配。但是,也存在没有匹配的情况。 例:查找哪些课程没有学生选修,并显示“课程 编号”和“课程名称”。
Access自动找出匹配 的字段“课程编号”。
Access
3.2.2 使用“设计”视图
Access
3.1.2 查询的类型
5.SQL查询:利用SQL语句来创建的一种查询。 主要包括四种查询:联合查询、传递查询、数 据定义查询、子查询。 联合查询是将一个或多个表(查询)组合起来。 传递查询是直接将命令发送到ODBC数据库服务 器中,来检索或更改记录。 数据定义查询可以创建、删除或更改表。 子查询是包含在另一个选择查询中的的SQL SELECT语句。
3.编辑记录 6.为窗体或报表提供数据。 1. 建立一个查询,只显示“教师”表 2. 建立一个查询,只显示“教师”表 3. 将“计算机实用软件”课程不及格 4. 根据“教师”表中的“工作时间” 中每名教师的姓名、性别、工作时间 中 1992 年参加工作的男教师。 5.将“计算机实用软件”课程中成绩 的学生从“学生”表中删除。 字段计算每名教师的工龄。 和系别。 在90分以上的学生找出并存放在一个 新表中。
创建查询时,可能更关心记录的统计结果, 而不是表中的记录。使用查询设计视图中的 “总计”行,可以对查询中全部记录或记录组 计算一个或多个字段的统计值。
Access
例:统计教师人数。
在“总计” 下拉菜单中 选择“计数”
Access
3 在查询中进行分组统计
分组总计就是对一个字段进行分组,然后再总计, 分组字段的“总计”行设置成“分组”。 例:计算各类职称的教师人数。
第3章access2010查询操作-上传
五、运行查询 查询创建(chuàngjiàn)完成后,将保存于数据
库中。运行查询后,才能看到查询的结果。通过 以下方法之一,可以运行查询: ▲在查询的设计视图下,单击【查询工具/设计】 选项卡【结果】组中的【运行】按钮 ▲在查询的设计视图下,单击【查询工具/设计】 选项卡【结果】组中的【视图】按钮 ▲右击查询的设计视图标题栏,并在快捷菜单 中选择【数据表视图】命令 ▲双击导航窗口中要运行的查询 ▲右击导航窗口中要运行的查询,并在快捷菜 单中选择【打开】命令
➢交叉表查询 ➢操作查询
➢ SQL查询
☆删除查询 ☆更新查询 ☆追加查询
☆生成表查询
☆联合查询
☆传递查询
☆数据定义查询
☆子查询
精品资料
三、查询视图(shìtú) 查询有5种视图(shìtú),分别是: 设计视图(shìtú) 数据表视图(shìtú) SQL视图(shìtú) 数据透视表视图(shìtú) 数据透视图(shìtú)视图(shìtú)
精品资料
数据定义查询(cháxún) 利用数据定义查询(cháxún)可以创建、删除或更
改表,或者在数据库表中创建索引。 子查询(cháxún)
是包含在另一个查询(cháxún)之内的SQLSELECT语句,即嵌套在查询(cháxún)中的查询 (cháxún)。
精品资料
几点说明: 创建传递查询、数据定义查询和联合查询不能
☆条件 查询条件(同行之间为“与”关系)
☆或
查询条件(不同行之间为“或”关系)
精品资料
【例1】 ①创建一个查询,要求能够显示“教师表”中所有 (suǒyǒu)记录的“姓名”、“性别”、“出生日期”、 “工作日期”和“毕业学校” ;(教师表) ②在上述查询的基础上,对记录进行排序,要求:按 毕业学校降序排序;毕业学校相同的按出生日期的先 后顺序排序; ③只显示上述查询中已退休的女教师(按60岁退休) 和毕业学校为南京大学的教师。
access第三章查询
access第三章查询注意的考点:1、查询的分类(重要):a、查询分成:选择查询、交叉表查询、参数查询、操作查询和SQL查询共5类。
b、选择查询既可以按指定的查询准则从一个或多个表中获取数据,也可以对数据进行分组与总计运算处理。
查询的结果是一组数据记录,称为动态集。
c、交叉表查询是利用表中的行和列来对数据进行统计。
而参数查询是利用对话框来提示用户输入准则的查询。
d、操作查询是对查询找出来的数据进行编辑操作,又分成:生成表查询、删除查询、更新查询和追加查询四类。
2、准则中可用的数据:在查询准则中,可用数值数据、字符串数据、日期/时间数据、是/否数据以及字段的内容等等数据。
其中字符串数据用双引号(“”)括起,日期数据用双井号(##)括起,是/否数据用True或False表示,字段的内容用双中括号([])括起。
3、特殊运算符(重要):a、in运算符:用于指定一个字段值的列表,列表中的任意一个值都可与查询的字段相匹配。
即是否是指定列表中的值之一。
如:[姓名] in(“张三”,”李四”),表示为姓名为张三的或姓名为李四的。
用表达式表示为:[姓名]=”张三” or [姓名]=”李四”。
b、between运算符:用于指定一个字段的范围。
如:[年龄] between 18 and 24,表示是年龄大于或等于18,并且年龄小于或等于24。
用表达式表示为:[年龄]>=18 and [年龄]<=24。
c 、like运算符:用于指定查找文本字段的字符模式。
用”?”表示一个任意的字符;用”*”表示一个或多个任意的字符;用”#”表示一个任意的数字;用”[]”表示一个中括号中指定字符列表之一。
如:[姓名] like “[王李]*”,表示是姓王或姓李的人。
4、数值函数:a、abs(数值):求数值的绝对值。
b、int(数值)和fix(数值) (重要):都是用来求数值的整数部分。
当数值为正数时,两都的结果相同;但当数值为负数时,int返回小于或等于参数值的第一个负数,而fix返回大于或等于参数值的第一个负数。
数据库应用基础--ACCESS2010-单元三 使用查询
任务三 数据定义查询
SQL创建表 格式: Create table <表名> (字段名1 类型[(长 度)],字段名2 类型[(长度)],字段名N 类型 [(长度)])
任务三 数据定义查询
SQL创建表
常见类型: 数字:byte int float 日期:datetime date time 货币:money currency 是否:bit 自动编号:counter 文本:text char 备注:memo OLE:image
任务一 创建选择查询
3、使用向导创建查询 交叉表查询 例:进销存sell表,查询每个商品每个季度 的的销售情况
任务一 创建选择查询
3、使用向导创建查询 查询重复项 例:查询学籍表中重名的学生记录
任务一 创建选择查询
3、使用向导创建查询 查询不匹配项(先选总表,再选子表) 例:查询成绩表里没有参加考试的同学记录
任务二 使用查询设计器
查询多张表的数据 实例: 4、点了 “番茄炒蛋”的用户有哪些?
任务二 使用查询设计器
查询多张表的数据 实例: 5、每个顾客点了哪些菜?
任务二Байду номын сангаас使用查询设计器
查询多张表的数据 实例: 6、统计每个顾客点了几个菜?
任务二 使用查询设计器
查询多张表的数据 实例: 7、汇总时,表达示expression的用法?
(也可以在查询设计器中建立表的临时关系)
第2步:参照一张表的查询方法
任务二 使用查询设计器
查询多张表的数据 实例: 1、姓名对应的成绩
任务二 使用查询设计器
查询多张表的数据 实例: 2、各区县的语文平均分
Access 2010 数据库应用教程第3章 查询操作
型且同名的字段,而且这个字段在某一个表中已经建 立了主索引,这时Access可自动创建关系。
手动创建:在查询设计视图中,确定两表用来建立关
系的字段类型匹配,单击源表字段,拖拽鼠标到目的 表对应字段。
+ “查询设计视图”分为上下两个部分,上部
分用来显示所有添加的表或查询,下部分 用来选择要查询的字段以及字段的排序方 式和筛选条件,称为查询设计网格。
函数
格式
功能说明
计算查询所返回的记录数。 Count 函数不统计包含 Null 字 段的记录,除非 expr 是星号 (*) 通
Count
Count(expr) 配符。如果使用了星号通配符,Count 会计算出包括Null 字段在内的所有记
录的数目。
返回包含在查询的指定字段内的 一组值中的最小值。 返回包含在查询的指定字段内的 一组值中的最大值。 常用的聚合函数
返回字符串表达式中字符的个数 去掉字符串表达式的前导/尾部空格
Trim(字符串表达式)
Mid(字符串表达式,n1[,n2])
去掉字符串表达式的前导空格和尾部空 格
从字符串表达式左边第n1位置开始,截 取连续n2个字符
日期时间函数 常用的日期时间函数如下表所示。
函数
Now()
Date()
功能
返回系统当前的日期时间
请将常数字符串包含在—对双引号中。
请将日期时间包含在一对井字号(#)中。
可使用运算符“&”或“+”连接文字类型字段或
文字字符串。
+ 设置查询结果中的数据的排列顺序: 确定要根据哪一个输出字段排序,然后单击“排
序:”行的组合框的向下箭头,选择“升序”或 “降序”选项。
2.多表自然连接查询_Access数据库应用教程(2010版)_[共3页]
【例3-53】创建查询“SQL29”,将“读者”表中女读者的“读者编号”“姓名”“性别”和“工作单位”等信息输出到新表“女读者”中。
SQL语句如下:SELECT 读者编号,姓名,性别,工作单位 INTO 女读者FROM 读者WHERE 性别 = "女";2.多表自然连接查询前面的查询都是单表查询,FROM子句后只有一个数据表,但是实际应用中,更多的是需要同时查询多个表中的数据,例如查询读者“王文斌”所借图书的“图书名称”。
这就要使用多表自然连接查询,即FROM子句后有多个数据表,各数据表用逗号“,”分隔。
(1)两表自然连接查询的设置在讨论多表自然连接查询之前,先来看看最简单的多表查询,也就是两表查询。
首先看看下面这个两表查询的例子。
【例3-54】创建查询“SQL30”,查询“读者”表和“借阅”表中的全部信息。
SQL语句如下:SELECT *FROM 读者,借阅;查询结果(部分)如图3-81所示。
图3-81两表查询结果(部分)图3-81只显示了一部分查询结果,其实两表查询的结果非常大,有10个字段,200条记录。
从图中可以看出,该查询结果的字段是由两个表的字段组合而成,分别是“读者”表的6个字段和“借阅”表的4个字段,组合成10个字段。
查询结果的记录数则是两个表的记录数相乘得到的,分别是“读者”表的10条记录乘以“借阅”表的20条记录,最后得到200条记录。
但是这200条记录中存在大量的无效记录数据,例如同一条记录的两个表的“读者编号”共同属性的取值都不相等。
在图3-81中,从第2条记录到第9条记录的数据就是这种无效记录数据。
因此,这种两表查询方式是无效查询。
如何在两表查询中排除无效数据呢?通过分析可以看出,上面的查询结果并不是所有的记录101。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.3 查询的条件
3.使用数值作为查询条件
字段名 成绩 成绩
条件 <60 Between 80 And 90 >=80 And <=90
功能 查询成绩小于60 的记录 查询成绩在80— 90分之间的记录
Access
3.1.3 查询的条件
4.使用文本值作为查询条件
字段名
“教授” 职称 课程名称 “教授” or “副教授” Like “计算机*” In(“李元”, “王朋”) 或“李元”or “王朋” 姓名 Not “李元”
查询姓名不是姓“王”的记录
查询姓名是姓“王”的记录 查询简历最后两个字为“顺义” 学生编号的3、4个字符为03记录
Access
3.1.3 查询的条件
5.使用处理日期结果作为查询条件
字段名 条件 功能 工作时间 Between #92-01-01# And #92- 查询92年参加工 12-31# 作的职工 工作时间 <Date( )-15 查询15天前参加 工作的记录
Access
3.1.3 查询的条件
1. 运算符 In(“计算机系 ”,“临床医学”) Between16And20 表示查找出系别是计算机系或临 •关系运算符: =、< >、<、>、<=、>=。 查找年龄在16 至20之间的记录 床医学系的记录。 •逻辑运算符: And 、Or、Not •特殊运算符:InLike 、Between Like、Is null、Is not null。 “王 、 *”
“2014年参加工作的男 教师”,查询结果如下
图:
Access
3.1.2 查询的类型
2.交叉表查询:汇总字段数据,可以计算平 均值、合计、计数、求最大值和最小值等。
建立一个查询,要统计“各
例如
个系男女教师的人数”,查
询结果如下图:
Access
3.1.2 查询的类型
3.参数查询:用对话框来提示用户输入条件 的查询,这种查询可以根据用户输入的条件 来检索符合相应条件的记录。
比如说,要查询学生的平均成绩或者总 分成绩,很明显,在我们设计的任何一个数 据表中都没有平均分或者总分这两个字段, 因此,我们要用到查询计算。
•在Access中,可以执行很多类型的计算,一 般包括:总和、平均值、计数、最大值、最 小值、标准偏差和方差等,还可以使用用户 自定义计算,
Access
2 在查询中进行计算
7.使用空值或者空字符串作为查询条件
字段名 准则 功能
姓名
姓名
Is Null
Is Not Null
查询姓名为Null(空 值)的记录
查询姓名有值(不是 空值)的记录
联系电话 “”
查询没有联系电话的 记录
注意:空字符串是用双引 号括起来的字符串,且双 引号中间没有空格。
Access
3.2 创建选择查询
2.计算每名学生 1.计算班平 的平均成绩 均成绩
Access
两个查询的班级 间建立连接
没有做出来
Access
3.3 创建交叉表查询
3.3.1 认识交叉表查询 3.3.2 使用“设计视图”
Access
3.3.1 认识交叉表查询
所谓的交叉表查询,就是将来源于某一 个表(数据表或者查询表)中的字段进行分组, 一组在数据表的左侧,一组在数据表的上部, 行与列交叉处显示某个字段的计算值。
工作时间 Between Date( ) And Date( )-20 查询20天之内参 加工作的记录 出生日期 Year([出生日期])=1980 工作时间 Year([工作时间])=1999 And Month([工作时间])=4 查询1980年出生 的学生记录 查询1999年4月 参加工作的记录
退出
开始
Access
考试要求
1 查询分类
(1) 选择查询。(2) 参数查询。(3) 交叉表查询。 (4) 操作查询。(5) SQL查询。
2 创建查询
(1) 使用向导创建查询。(2) 使用设计器创建查询。 (3) 在查询中计算。
3 查询准则
(1) 运算符。(2) 函数。(3) 表达式。
4 操作已经创建查询
1.查询设计视图组成
字段列表区
设计网格区中的每一列 对应查询动态集中的一 个字段,每一项对应字 段的一个属性或要求。
设计网格区
设计网格中行的作用见表3.9
Access
2.创建不带条件的查询
例:查询每名学生选课成绩,并显示“学生编号”、“姓 名”、“课程名称”和“总评成绩”等字段信息,查询名 称为“学生总评成绩”。
Access
3.1.2 查询的类型
5.SQL查询:利用SQL语句来创建的一种查询。 主要包括四种查询:联合查询、传递查询、数 据定义查询、子查询。 联合查询是将一个或多个表(查询)组合起来。 传递查询是直接将命令发送到ODBC数据库服务 器中,来检索或更改记录。 数据定义查询可以创建、删除或更改表。 子查询是包含在另一个选择查询中的的SQL SELECT语句。
退出
Access
3.1 查询 概述
3.1.1 查询的功能 3.1.2 查询的类型 3.1.3 查询的条件
Access
3.1.1 查询功能
1.选择字段 4.实现计算
查询和查找的区别
查找只能够找到符合 我们需要的一个值,而查 询可以找到符合我们需要 的一条或者多条记录,查 询的结果是以二维表显示。
2.选择记录 5.建立新表
删除前面的空格
3.日期时间函数:Day(date)、Month(date)、 Year(date)、 Weekday(date)、Hour(date)、Date( ) 等。 返回给定日期是星期几 4.统计函数:Sum( )、Avg( )、Count( )、Max( )、 Min( )等。
Access
Access
3.1.3 查询的条件
2. 函数
绝对值 返回正负号,正数1,负数-1,0返回0
1.数值函数:Abs( )、Int( )、Sqr( )、Sgn( )等。 2.字符函数:Space( )、String( )、Left( )/Right( )、 Len( )、Ltrim( )、Rtrim( )、Mid( )等。
3.使用查找不匹配项查询向导
在关系数据库中,当建立了一对多的关系后,通 常“乙方”表的一条记录与“多”方表的多条记 录相匹配。但是,也存在没有匹配的情况。 例:查找哪些课程没有学生选修,并显示“课程 编号”和“课程名称”。
Access自动找出.2.2 使用“设计”视图
3.编辑记录 6.为窗体或报表提供数据。 1. 建立一个查询,只显示“教师”表 2. 建立一个查询,只显示“教师”表 3. 将“计算机实用软件”课程不及格 4. 根据“教师”表中的“工作时间” 中每名教师的姓名、性别、工作时间 中 1992 年参加工作的男教师。 5.将“计算机实用软件”课程中成绩 的学生从“学生”表中删除。 字段计算每名教师的工龄。 和系别。 在90分以上的学生找出并存放在一个 新表中。
Access 查询对象不是数据的集合,而是操作的 集合。查询的运行结果是一个动态集。 它很像一个表,但并没有存储在数据库 中。创建查询后,只保存查询的操作, 只有在运行查询时,才会从查询数据源 中抽取数据,并创建它;只要关闭查询 ,查询的动态集就会消失。
Access
3.1.2 查询的类型
1.选择查询:根据指定的查询准则,从一个 或者多个表中获取数据并显示结果的一种最 常见的查询方式。 建立一个查询,要找到 例如
寻找所有姓王的记录 In: 用于指定一个字段值的列表,列表中的任意一个值都可以 Is Null 与查询的字段相匹配。 Between: 查找所有电话号码为空的记录。 用于指定一个值的范围。指定的范围之间用And连 接。 Like: 用于指定查找文本字段的字符模式。可以用?、*、#、 [ ]通配符。 Is null: 用于指定一个字段为空。 Is not null: 用于指定一个字段为非空。
Access
3.1.3 查询的条件
6.使用字段的部分值作为查询条件
字段名 准则 功能 查询课程名称以“计 算机”开头的记录
课程名称 Like “计算机*”
课程名称 Like “*计算机*” 查询课程名称中包含 “计算机”的记录 姓名 Not “王*” 查询不姓王的记录
Access
3.1.3 查询的条件
创建查询时,可能更关心记录的统计结果, 而不是表中的记录。使用查询设计视图中的 “总计”行,可以对查询中全部记录或记录组 计算一个或多个字段的统计值。
Access
例:统计教师人数。
在“总计” 下拉菜单中 选择“计数”
Access
3 在查询中进行分组统计
分组总计就是对一个字段进行分组,然后再总计, 分组字段的“总计”行设置成“分组”。 例:计算各类职称的教师人数。
1.添加表
保存查询
2.添加字段
“显示”行表示对应字段是否显示在查询结果中。
Access
3.创建带条件的查询
例:查找1992年参加工作的男教师,并显示“姓名” 、“性别”、“学历”、“职称”和“系别”。
在选择字段时,查询结果没有要求显示“工作时间”,但是查询 条件需要用到这个字段,因此选择字段时必须选择该字段。不用 勾选“显示”复选框。
Access
3.4 创建参数查询
3.4.1 单参数查询
3.4.2 多参数查询
Access
3.4.1 单参数查询
单参数查询就是在字段中指定一个参数, 在执行参数查询的时候,用户输入一个参 数值.为了在运行时让系统出现对话框, 务必在条件中使用[ ]符号 例:按照学生姓名查看某学生的成绩, 并显示“学生编号”、“姓名”、“课 程名称”和“考试成绩”。