【Access】SQL语句中自然连接的使用
大家好,上次课程我们讲了等值连接,本节课跟随小编来学习一下自然连接。自然连接是按照公共属性值相等的条件进行连接,是一种特殊的等值连接,公共属性值不相等的行会被删除,同时在结果中消除重复的属性列。
我们用一个例子来演示一下如何在Access数据库中使用自然连接来完成查询,如下图是Access数据库中的两个表:
表一:
表二:
仔细观察一下,我们会发现有如下的等值情况:
1、表一的a字段和表二c字段有相同的值5;
2、表一的b字段和表二c字段有相同的值6;
3、表一的b字段和表二d字段有相同的值6;
4、表一的c字段和表二c字段有相同的值5和7;
5、表一的c字段和表二d字段有相同的值7;
6、表一的c字段和表二e字段有相同的值7;
然而表一和表二的公共属性列是c列,所以自然连接就只是比较c列中的等值,其它列等值的情况不管,这就是“自然连接是一种特殊的等值连接”的原因,在Access中建立自然连接很简单,在查询设计器中按如下操作:
这个等值连接对应的SQL语句是:
我们可以看到用SQL语句中使用的是WHERE子句,然后用=连接两个表的公共属性列(c列),这就是自然连接,下图是这个自然连接的结果:
在这个案例中,我们可以看出表一和表二的公共属性列是c列,表一c列中的数据3和表二c列中的3相等,所以表一c列中的数据3所在行的数据和表二c列中的数据3所在行的数据会被保留下来,表一和表二c列中不相等的数据所在行全部被删除掉了,并且在结果中消除重复属性列c列了,只保留一个共同的c列。自然连接是Access数据库中最常用的连接类型了,我们不经意间用的连接基本上都是自然连接,只是你在用的时候没注意罢了。
赞 (0)