前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql LEFT JOIN RIGHT JOIN(左连接)(mysql)

sql LEFT JOIN RIGHT JOIN(左连接)(mysql)

作者头像
1_bit
发布2021-01-14 17:01:01
1.8K0
发布2021-01-14 17:01:01
举报
文章被收录于专栏:我的知识小屋我的知识小屋

我们首先来看我们的两个表: table1:

这里写图片描述
这里写图片描述

table2:

这里写图片描述
这里写图片描述

在这里,LEFT JOIN(内连接,或等值连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。 例如,如果table2中的age1的值有一个值是11,table1的值中age1的值也有11,那么就查询出来;但是table2中如果有值2134,table1中的age1并不存在2134,那么这个值就不会查询出来: 再假设,如果table1中有age1的值2,3,4但是table2中没有一个age1的值是2,3,4那么table1中就会显示出来2,3,4;换句话说,使用left join,最开始的表,左表会全部显示出来,右表则会显示左表中有的值。

SELECT * FROM table1 LEFT JOIN table2 ON table1.age1 = table2.age1;在这里使用 结果如下:

这里写图片描述
这里写图片描述

那么RIGHT JOIN 正好相反:与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。 SELECT * FROM table1 RIGHT JOIN table2 ON table1.age1 = table2.age1;

这里写图片描述
这里写图片描述

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档