国开《数据库基础与应用》第八章 8-1-2:利用查询向导创建不带查询条件的查询对象
8-1-2:利用查询向导创建不带查询条件的查询对象
当采用第1种方法,点击“查询向导”图标时,将自动打开一个标题为“新建查询”的对话框,如下图2所示。
通过查询向导可以建立简单查询、交叉表查询、查找重复项查询、以及查找不匹配项查询等四种较规范的查询。
简单查询向导:当在一个或建立有表之间关系的多个表上,进行相关字段(列)的全部内容查询(明细查询)时,或者分组进行统计汇总查询时,将需要选择“简单查询向导”来建立查询。如教材中的例8-2-1所建立的“产品信息查询”和例8-2-2所建立的“订单按月统计查询”,都是通过简单查询向导的方法建立的查询。
例8-2-1的“产品信息查询”是在类别表和产品表这两个表上建立的查询,分别选取了类别表中的类别名称,和产品表中的产品名称、单价和库存量,类别表和产品表之间通过共同具有的类别ID字段,已经建立了1对多的关系。
例8-2-2的“订单按月统计查询”是在订单表这一个单独的表上进行的统计汇总查询,它按月统计出订单数量总和、最大订单数量、最小订单数量、平均订单数量、以及每月的订单记录个数。
交叉表查询向导:交叉表查询主要是通过表格的形式,显示出某一个数值字段的、按照横向和纵向的分类统计值,比如进行求和、计数、求平均值统计等。在这个交叉表查询中,左边显示出一个或多个需要分组的字段值,上面显示出一个字段的所有不同值,表中间的相应交叉点上显示出需统计的数值字段值和统计结果。
教材中的例8-2-3,给出了一个交叉表查询的具体实例,它是在“产品信息查询”这个查询对象上建立的交叉表查询。
在“产品信息查询”对象中,包含有产品名称、类别名称、单价和库存量等4个字段,产品名称字段中的每个值是互不相同的,而类别名称字段中的值出现有重复,如牛奶、冰激凌和果冻等产品都同属于饮料这一类别。我们选定类别名称作为交叉表左边的行标题,选定产品名称作为交叉表上边的列标题,然后再确定在表中间的每个交叉点上需要显示数值字段,这里选用的是库存量字段,进行每种类别产品的按行求和。教材中例8-2-3给出了建立“产品信息交叉表查询”的详细过程和步骤,得到的查询结果如下图3所示。
查找重复项查询向导:查找重复项查询的过程很简单,首先从待查找的表中选定一个带有重复值的列,然后再选择出需要显示内容的若干列即可。例如,在教材的例8-2-4中,在产品表上建立了一个名称为“产品中相同单价的产品信息查询”,它就是利用查找重复项查询向导而建立的查询对象,所选定的重复项是单价。
在查询中被选作为重复项的单价列将被显示在最左边的列位置,并按照单价值的升序排列产品记录,其余字段将显示在后面的列位置。此查询的显示结果如下图4所示,建立查询的具体步骤请查看教材中第8.2.3节的详细内容。
查找不匹配项查询向导:查找不匹配项查询是在两个表之上建立的查询,查询出一个表中的有关记录,而这些记录的某个字段的值在另一个表的对应字段中不存在。
教材中例8-2-5给出了一个创建“查找不匹配项查询”的实例,它在雇员表和订单表上建立,雇员表包括雇员ID、雇员姓名、性别、出生日期等字段,订单表包括订单ID、产品ID、数量、雇员ID、订货日期等字段。它们共同具有雇员ID字段,若有的雇员签约到了客户的订单,则雇员表中该雇员的雇员ID的值,一定在订单表中对应的订单记录中存在,否则,若一个雇员没有签约到任何客户的订单,在雇员表中该雇员的雇员ID的值,在订单表中的所有订单记录中必然不存在。教材中的例8-2-5,通过使用查找不匹配项查询向导,建立了一个名称为“没有订单的雇员信息查询”,该查询从雇员表中查找出在订单表中没有对应订单记录的所有雇员记录,查询结果如下图5所示。