【Access】SQL语句中内连接的使用
大家好,上次课程我们讲了自然连接的使用,本节课再跟随小编来学习一下内连接。内连接的效果和等值连接是一样的,只不过在Access数据库中的操作不一样罢了,这里先放上内连接的SQL语法格式:
SELECT ……FROM 表1 INNER JOIN 表2 ON 表1.某字段 = 表2.某字段
在学习内连接之前,小编强烈建议你重新温习一下等值连接的知识,强烈建议哦,这样待会儿才会有对比。
点击查看:【等值连接详解】
现在假设我们的Access数据库中有这样两张表,表一:有a、b、c三个字段;表二有c、d、e三个字段。如果表一中的任意一个字段和表二中的任意一个字段之间有相同的值,就可以构成内连接,这样其实我们可以得到如下的九个内连接的情况:
表一.a=表二c
表一.a=表二d
表一.a=表二e
表一.b=表二c
表一.b=表二d
表一.b=表二e
表一.c=表二c
表一.c=表二e
表一.c=表二e
上面这段话基本和之前等值连接课程的一样。那么如何在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;
现在我们随便选取其中的一种情况在Access中做一个内连接查询,这里就选择第三种情况(表一的b字段和表二d字段有相同的值6)作为演示,在查询设计器中按如下操作:
注意到没有,这里是直接用连接线直接拖动的,注意和等值连接对比一下,这个内连接对应的SQL语句是:
我们可以看到用SQL语句中使用的是INNER JOIN子句,然后用ON连接两个表的字段,这就是内连接,下图是这个内连接的结果:
我们可以看到内连接也只是选择属性值相等的那些元组,其他不相等的元组同样被舍弃掉了。
综合来看,小编觉得内连接操作起来比等值连接更方便,因为我们可以直接用拖动的方式把两个表中有相同值的字段连接起来就好了。这里再次建议和等值连接好好做个对比。