龙源期刊网

http://www.qikan

Access

中不匹配项查询的三种方法

作者:马鹏卫

来源:《软件导刊》

2013

年第

01

摘要:查找两个表之间不匹配项数据是全国计算机等级考试二级

Access

上机考题中新增

加的考点,属于考试大纲之外,相对于其它查询试题来讲较难。通过对试题的分析,从三个角

度分别给出了解决方法。

关键词:等级考试;

Access

;匹配查询

中图分类号:

TP301

文献标识码:

A

文章编号:

16727800

(

2013

)

001002302

0

引言

最近几次全国计算机等级考试二级

Access

上机考题中频频出现了一类查询,题目要求从

两个表中找出不匹配项数据。比如

“samp2

数据库中有

tStud

tScore

两个表,创建一个查询,

查找没有任何选课的学生的

学号

姓名

两个字段信息

,好多考生反映此类题貌似简单,但

却无从下手。

1

题目分析

题目中给出了两个表:一个是表示学生基本信息的

tStud

表(包含学号、姓名、性别等字

段,学号是主关键字段);另一个是表示学生各门课成绩的

tScore

表(包含学号、课程号和成

3

个字段,学号和课程号是组合关键字段)。

题目要求查找

没有任何选课的学生

,那么首要的问题就是如何判断学生是否选了课。

tScore

表中列出的是学号、课程号和成绩

3

个字段,并且每个字段值均非空,此表同时表明如

果哪个学生选了课,那么在表中就有他的学号、课程号和成绩的相应信息。然而

tStud

表中包

含的却是所有学生信息,因此,

没有任何选课的学生

的含义就是该学生在

tScore

表没有相应

的记录,也就是说

tStud

表中的学号在

tScore

表中没有出现过,转换为查询中的条件就是

tStud

表中的学号不在

tScore

表的列表当中。

2

解决办法

通过前面的分析,对于此问题有以下

3

种解决方法:

(

1

)子查询。首先根据题目要求在设计网格中添加

tStud

表中的

学号

姓名

两个字

段,由于

没有任何选课的学生

的含义是

tStud

表中的学号不在

tScore

表的列表当中,所以可

设置

学号

的条件是

“NotIn

(

SELECT

学号

FROMtScore

)

,如图

1

所示。

更多推荐

access统计没有选课的人数_Access中不匹配项查询的三种方法