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

时间:2022-09-15 22:49:35

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

其次我们来看我们的两个表格:
table1:
sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)
table2:
sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)
在这里,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)
是否输出的结果把两表给结合起来了,你们发现,age1不同的数据并没有输出出来,其实这样的结果比较像数学中的交集呢?这个就是 INNER jion