文档介绍:Access
数据库与程序设计
第5章查询设计
查询概述
选择查询
使用查询向导创建查询
使用设计器创建查询
设置查询条件
参数查询
交叉表查询
操作查询
生成表查询
删除查询
追加查询
更新查询
查询概述
1. 查询(Query)是按照—定的条件或要求对数据库中的数据进行检索或操作。
2. 查询的数据来源是表或其他查询。
3. 使用查询可以按照不同的方式查看、更改和分析表中的数据,也可以作为其他查询、窗体、报表或数据访问页的数据源。
4. 以是否更改数据源中的数据为标准,将查询分为选择查询和操作查询两类。
选择查询是对一个或多个表中的数据进行检索、统计、排序、计算或汇总,但不会更改表中的数据。
操作查询以成组方式对数据表进行追加、更新、删除或生成新的表等操作。
参数查询通过设置查询参数,形成一种交互式的查询方式。
交叉表查询可以对表中的数据进行分组汇总。
使用查询向导创建查询
从一个或多个表和查询中选择要显示的字段。
如果要显示的字段来自多个表,这些表必须事先建立关系。
简单查询向导不能指定查询条件或者查询的排序方式。
2. 查找重复项查询向导(自学)
在一个表或查询中查找具有重复字段值的记录。
3. 查找不匹配项查询向导(自学)
查找两个表中不匹配的记录。
4. 操作
在数据库窗口中,选择查询对象,再单击“新建”按钮。
在“新建查询”对话框中,选择“简单查询向导”、“查找重复项查询向导”、“查找不匹配项查询向导”。
使用设计器创建查询
(1)选择查询的数据源,可以是表或其他查询。
(2)从数据源中选择需要查询的字段,也可以根据数据源中的字段建立一个表达式计算出需要查询的信息。
(3)设置查询条件
(4)设置排序或分组项
(5)查看查询结果
单击“数据表视图”按钮
(6)保存查询对象
选择“文件|保存”命令
使用设计器创建查询(续1)
【】查询90分以上(包括90分)的学生姓名、选修的课程名和成绩,并按成绩由高到低排列。
分析
查询字段:“姓名”、“课程名”、“成绩”
数据源:“学生”表、“课程”表、“选课”表
查询条件:“成绩>=90”
查询结果:按成绩降序排列
注意
多表查询时通常应在各表之
间建立联接,否则就不能得到
正确的查询结果。
使用设计器创建查询(续2)
【】查询各门选修课程的平均分,要求在查询结果中包含课程名和平均分。
分析
查询信息:课程名、平均分
“平均分”是一个计算数据,是对“选课”表中的成绩按课程分组统计,ess提供的总计功能来实现。
在查询结果中包含计算数据的列称为计算列。
数据源:“课程”表,“选课”表
分组项:课程名
总计操作:平均值,总计字段:成绩
对计算列的标题重命名
操作提示
①打开查询设计视图,在“显示表”对话框选择课程表和选课表
②在字段行的第1列和第2列中分别放置“课程名”和“成绩”字段。
③单击“总计”按钮,设计视图中增加“总计”行。在“课程名”列上单击“总计”框右侧的按钮,从下拉列表中选择“分组”选项。然后,在“成绩”列上单击“总计”框右侧的按钮,从下拉列表中选择“平均值”选项
注意:,第2列的默认标题显示为“成绩之平均值”;
修改方法:
使用设计器创建查询(续3)
【】查询“学生”表中所有学生的姓名,性别和年龄。
分析
查询信息:姓名、性别、年龄
年龄不能直接从“学生”表中获得,可以利用系统当前日期和“出生日期”字段计算出来,计算表达式为: year(date())-year(出生日期)
数据源:“学生”表
补充
在查询设计网格中输入较多的内容时,可以按【Shift+F2】组合键,或者右击要输入内容的网格,从快捷菜单中选择“显示比例”命令,打开“显示比例”对话框,在编辑框中输入需要的内容