您的位置 首页 > 数码极客

「在access中如何创建查询」access创建生成表查询

操作要求:

在利用ACCESS数据库“教学管理钟老师课堂.accdb”中数据表,完成如下查询。

1、创建一总计查询“学生合格门数-所获学分-总计查询”。以学生、课程、选课成绩为数据源,创建一总计查询“学生合格门数-所获学分-总计查询”,结果要求显示学生编号、学生姓名、合格课程门数、总获学分字段。这里需要注意的是,合格课程是指成绩>=60分的课程。

2、创建一总计查询“各部门年工资支出总计查询”。以部门人员、部门信息和工资表为数据源,创建“各部门年工资支出总计查询”,统计各部门每年的工资支出。结果显示部门名称和各部门工资年支出字段,各部门工资年支出=([工资]![基本工资]+[ 工资]![奖金]+[ 工资]![津贴]+[工资]![保险])*12

3、创建一总计查询“产品利润总计查询”。以产品、订单和订单明细表为数据源,创建“产品利润总计查询”,统计每种产品的利润。结果显示产品名称和利润字段,利润=sum([订单明细]![数量]*[订单明细]![单价]*[订单明细]![折扣]-[产品]![单价])

知识要点:

1、什么是总计(分组)查询

2、总计项及其含义

3、总计查询设计要点

知识点说明:

1、总计(分组)查询:

在实际应用中,用户可能不仅要统计某个字段中的所有值,而且还需要把记录分组,对每个组的值进行统计。例如将所有同学按性别“男”和“女”分组,分别统计男同学人数和女同学人数。

也可以利用多个属性进行分组,使得组更细化。例如先按“性别”将所有同学分为“男”同学和“女同学”两个组,再按“是否为党员”分组。结果产生四个组:男生党员同学组、男生非党员组、女生党员组、女生非党员组。所以,对于采用多个字段分组时,我们是先按照第一字段分大组,再按照后一字段在大组中划分小组,依此类推。

在SQL语句中,分组用Group By子句完成。在ACCESS总,系统专门提供了设计分组的设计网格。

2、总计项及其含义:

当进行总计查询设计时,必须指定查询中每一字段的用途,在ACCESS有下列选择可供选择。

3、总计查询设计要点:

(1)确定是否采用总计查询(难点):什么时候使用分组,是同学们遇到的一个难点。当要求统计的数据,不是来自一条记录,而是来自分组后的多条记录中某一字段的数据时,就必须采用总计查询来完成。如求“男同学”和“女同学”各有多少人的问题。

(2)确定分组字段:即通过题目要求,确定记录是按照哪些字段来分组的。

(3)确定计算字段:总计查询结果中,要显示通过统计而得到的值,这些列在原表中是没有的,称为计算字段。比如求总和、平均值等等。必须明确是在哪个字段上进行统计。这里十分值得一提的是,对于“计数”选项,必须选择无重复值、没有null值的字段来进行,否则会使计数个数减少。如上面求“男同学”和“女同学”各有多少人,需要对“学生编号”字段进行“计数”,“学生编号”是不可能重复的。

(4)确定条件字段:在总计查询中,字段选中“条件”选项,表明该字段的引入只是为了对分组进行某种限制,该字段不会显示在结果中。

上述知识点与分析,同学们在下面的设计中注意理解,学会应用。


1、创建“学生合格门数-所获学分-总计查询”。

以学生、课程、选课成绩为数据源,创建一总计查询“学生合格门数-所获学分-总计查询”,结果要求显示学生编号、姓名、合格课程门数、总获学分字段。这里需要注意的是,合格课程是指成绩>=60分的课程。(演示总计查询设计过程)

查询设计分析:

(1)数据源为“学生”、“课程”、“选课成绩表”表。

(2)用于进行选择的条件有一个:合格课程,即成绩>=60。

(3)要显示的字段为:学生编号、姓名、合格课程门数、总获学分。这里应注意,合格课程门数、总获学分这两个字段是在数据源的三个表中所没有的,是通过统计而得到的,即计算字段。

(4)合格课程门数:应该是一名同学所选修课程(这里要求分数>=60)的课程编号个数总和。当然也可以统计课程名称个数,但我们注意到,课程名称可能是重复的。如大学英语,有几个学期的不同课程,其每个学期都作为一门课计算,但是其每学期的课程编号是不相同的。

(5)总获学分:应该是对一名同学所通过课程所对应的学分进行求和。

(6)分组字段选择:由于每一名同学都有一个合格课程门数、一个总获学生,显然这里的分组字段应该由学生编号来完成,应为只有学生编号是不会重复却又能唯一标识一名学生的字段。

在设计视图设计(如下图):

(1)在数据源区添加“学生”、“课程”、“选课成绩表”表。

(2)点击工具栏上方的“总计”按钮,从而在“设计网格中”显示总计行。

(3)将所需的字段添加到字段行,其设计参加下面图解。

1.1、首先像常规查询设计一样,打开查询的设计视图,并添加所需的数据源。如果数据源由多个表构成,一般要先在基本表中将关系建好。如下图

1.2、点击工具栏上的“总计”按钮,参加下图

1.3、选择“总计”按钮后,在查询视图的设计网格中出如下图的“总计”行。以便进行总计查询设计

1.4、按照上面分析,向字段行中加入所需字段。当我们直接添加字段时,字段的“总计”行默认情况的选项为“分组”。如下图所示

1.5、根据各字段在题目中的要求,选择其适当的选择。如下图:

说明1:分组字段为“学生编号”和“姓名”。从分析中可知,分组只需要“学生编号”即可,这里为什么要加入“姓名”字段?原因是题目中要求显示学生姓名,而总计查询中,只有分组字段、计算字段能够显示在结果中,这里“姓名”字段显然不可能用于计算,因此只能选择“分组”选项。同时我们也注意到,任何一个学生编号显然对应了一个学生姓名,故此处先以“学生编号”分组后,再以“姓名”分组,并无影响。

说明2:作为条件选项的字段其“显示”行不能打勾,不然要出现错误提示,查询不能保存。如下图中的“成绩”字段

1.6、查看“数据视图”后,上面查询结果如下图所示。我们注意到:“课程编号之计数”和“学分之总计”不满足题目要求的“合格课程门数”、“总获学分”,且成绩字段未显示。

1.7、对字段进行重命名,如下图:

1.8、查看结果,并保存查询,完成设计。如下图:


2、创建一总计查询“各部门年工资支出总计查询”。

以部门人员、部门信息、工资表为数据源,创建“各部门年工资支出总计查询”,统计各部门每年的工资支出。结果显示部门名称和各部门工资年支出字段,各部门工资年支出=([工资]![基本工资]+[ 工资]![奖金]+[ 工资]![津贴]+[工资]![保险])*12

查询设计分析:

(1)数据源为:部门人员、部门信息、工资表。

(2)查询无筛选条。

(3)要显示的字段为:部门名称、各部门年工资支出。显然“各部门年工资支出”必须通过计算才能得到。

(4)各部门年工资支出:应该一个部门中,所有员工年工资的总和。题目中([工资]![基本工资]+[ 工资]![奖金]+[ 工资]![津贴]+[工资]![保险])*12表达式得到的结果仅为一名员工一年的收入。

(5)分组字段选择:部门名称。因为按部门分组,同时又要在结果中显示 部门名称。

在设计视图设计(如下图):

(1)在数据源区添加 部门人员、部门信息、工资表。

(2)点击工具栏上方的“总计”按钮,从而在“设计网格中”显示总计行。

(3)将所需的字段添加到字段行,并在字段的“总计”行选择合适的选项。

2.1、设计查询,如下图:

这里一定要注意分析“各部门工资年支出”字段的设计方法。

2.2、通过“数据视图”查看查询结果,并保存查询“各部门年工资支出总计查询”。结果如下图:


3、创建一总计查询“产品利润总计查询”。

以产品、订单、订单明细表为数据源,创建“产品利润总计查询”,统计每种产品的利润。结果显示产品名称和利润字段,利润=sum([订单明细]![数量]*[订单明细]![单价]*[订单明细]![折扣]-[产品]![单价])。

查询设计分析:

(1)数据源为:产品、订单、订单明细表。

(2)查询无筛选条。

(3)要显示的字段为:产品名称、利润。显然“利润”字段必须通过计算才能得到。

(4)“利润”字段:任何一种产品显然都可以接受很多订单,而每一份订单则说明了本次该产品的相关销售信息,要统计产品利润,必须统计该产品的所有订单的销售信息。题目中[订单明细]![数量]*[订单明细]![单价]*[订单明细]![折扣]-[产品]![单价]表达式得到的结果仅为一份订单的利润,对此求和“sum”,则获得该产品的总利润。

(5)分组字段选择:产品名称。

在设计视图设计(如下图):

(1)在数据源区添加 产品、订单、订单明细表。

(2)点击工具栏上方的“总计”按钮,从而在“设计网格中”显示总计行。

(3)将所需的字段添加到字段行,并在字段的“总计”行选择合适的选项。

3.1、设计查询,如下图:

这里一定要注意分析“利润”字段的设计方法。

3.2、通过“数据视图”查看查询结果,并保存查询“产品利润总计查询”。结果如下图:


本节通过三个非常典型的总计查询向同学们介绍了总计查询的基本设计方法。上述三个示例,不仅设计到对单一字段进行统计,也涉及到了对计算字段进行统计,还涉及到了在总计查询中使用条件。请同学们务必掌握、理解上述设计过程,才能有效的应对任何相类似查询的设计。

操作图解系列待续,如需快速了解详情,请参考“钟老师课堂”。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“在access中如何创建查询,access创建生成表查询,access中如何创建查询大于前一列日期的数据,access中如何创建查询成绩在80到90之间的人,A”边界阅读