【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连接两个表的字段,这就是内连接,下图是这个内连接的结果:

我们可以看到内连接也只是选择属性值相等的那些元组,其他不相等的元组同样被舍弃掉了。

综合来看,小编觉得内连接操作起来比等值连接更方便,因为我们可以直接用拖动的方式把两个表中有相同值的字段连接起来就好了。这里再次建议和等值连接好好做个对比。

快捷查看
(0)

相关推荐

  • Access数据库、Excel表格与VB编程完美结合实现Excel表格透视功能

    现有9个班级的学生成绩表,包括三门课的成绩: 要求在Excel中画出每个班级每科平均成绩柱状图. 如果单纯的用Excel整理数据很是麻烦,一共九个班级,每个班级都要求三门课的平均成绩,费时费力. 可以 ...

  • kettle

    上一节:kettle--(1)介绍和Execl输出举例 最近公司在做数据总线的工作,需要用kettle这个ETL工具,所以花了一些时间来研究研究,喜欢的话点个赞 kettle抽取一个数据库中数据,同步 ...

  • 【Access】SQL语句中自然连接的使用

    大家好,上次课程我们讲了等值连接,本节课跟随小编来学习一下自然连接.自然连接是按照公共属性值相等的条件进行连接,是一种特殊的等值连接,公共属性值不相等的行会被删除,同时在结果中消除重复的属性列. 我们 ...

  • 【Access】SQL语句中全外连接的使用

    大家好,上次Access课程我们讲了右(外)连接使用,本节课再跟随小编来学习一下全外连接.全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填NULL.全外连接的语法格 ...

  • 【Access】SQL语句中WHERE子句和HAVING 子句的异同

    初学SQL语句的时候,很多朋友总是无法理解HAVING 子句和WHERE子句之间区别,今天我们就来细细谈一谈这个问题.首先列出它们之间的相同和区别,然后我们举例说明. 一.相同点: 二者的相同点是在功 ...

  • 【Access】SQL语句中别名的使用之字段名别名

    别名主要使我们得到的查询结果更容易理解和阅读,关于别名的使用,我们还是先看个例子吧,如下图是一份简易的销售表: 现在假如我们想要查询每个员工的总销售额,我们可以建立如下的SQL查询: 运行一下得到如下 ...

  • 【Access】SQL语句中别名的使用之表名别名

    大家好,上次课我们学习了SQL语句中别名的使用之字段名别名的用法,今天我们学习SQL语句中别名的使用之表名别名,顾名思义,表名别名就是给表取一个别名,那么你会问有什么用呢,瞎折腾吗?肯定不是啦,我们看 ...

  • 成功sql语句中直接写变量

    public static PagedResultInOut<T> SqlPage<T>(string sql, string order, int page, int siz ...

  • mybatis sql语句中 in() 长度为0或null的情况

    比如: select * from A where colName IN <foreach collection="moCodeList" item="item&q ...

  • oracle sql语句中like %参数%的用法

    oracle sql语句中like %参数%的用法,在网上找了很久没找到类似的帖子,因此分享一下我的收获,希望对看到的人有帮助 今天在处理oracle数据库数据merge的时候遇到一个问题: 在mer ...

  • SQL 语句中 where 条件后 写上1=1 是什么意思

    在编程过程中,经常会在代码中使用到"where 1=1",这是为什么呢? SQL注入 初次看到这种写法的同学肯定很纳闷,加不加where 1=1,查询不都一样吗?例如: selec ...