0
点赞
收藏
分享

微信扫一扫

sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)


首先:JOIN 通常与 ON 关键字搭配使用

其次我们来看我们的两个表格:

table1:

sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)_内连接

table2:

sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)_等值连接_02

在这里,INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。

例如我要取到table1和table2之中 age1和age2相同的结果并且结合起来:

SELECT * FROM table1 INNER JOIN table2 ON table1.age1 = table2.age1;

在这里使用inner join 来联合table1和table2

在使用INNER jion时,on和where条件的区别如下:

1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

在这里我们使用on 条件是 table1中的age1和table2中的age2相同,那么我们运行结果如下:

sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)_等值连接_03

是否输出的结果把两表给结合起来了,你们发现,age1不同的数据并没有输出出来,其实这样的结果比较像数学中的交集呢?这个就是 INNER jion



举报

相关推荐

03SQL - SQL连接 inner join

0 条评论