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

举报
1_bit 发表于 2021/05/26 17:34:09 2021/05/26
【摘要】 首先:JOIN 通常与 ON 关键字搭配使用 其次我们来看我们的两个表格: table1: table2: 在这里,INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。 例如我要取到table1和table2之中 age1和age2相同的结果并且结合起来: SELECT * FROM table1 INNER JOIN t...

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

其次我们来看我们的两个表格:
table1:
这里写图片描述
table2:
这里写图片描述
在这里,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相同,那么我们运行结果如下:
这里写图片描述
是否输出的结果把两表给结合起来了,你们发现,age1不同的数据并没有输出出来,其实这样的结果比较像数学中的交集呢?这个就是 INNER jion

文章来源: i1bit.blog.csdn.net,作者:A757291228,版权归原作者所有,如需转载,请联系作者。

原文链接:i1bit.blog.csdn.net/article/details/59179412

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。