百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql的leftjoin、rightjoin、innerjoin
分享文章到:

mysql的leftjoin、rightjoin、innerjoin

发布时间:09/01 来源:未知 浏览: 关键词:
mysql中的leftjoin,rightjoin,innerjoin A加油卡表:

id, userName, cardNo

1 aaa 111

2 bbb 111

3 aaa 222

B加油记载表:

id, number, userName , cardNo,

1 1234 aaa 111

2 234 bbb 111

left join:

select * from B   b    left join  A a on a.userName = b.userName   where b.userName=aaa

因为上面sql中,on背面的前提,userName在A表中对应多条,而不是对应一条,效果集就是笛卡尔积。B表中的1条知足剩余A表中的2条知足。效果为2条。

select * from B   b    left join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa

因为上面sql中,on背面的两个前提在A表中只能寻到一条独一数据,所以效果就是B表中有多少条数据知足where,效果集就返回多少条数据。这里是返回一条数据

right join:

下面这个sql与上面的left join结果同样:

select * from A   a    right join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa

inner join:

select * from A   a    inner  join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa

还是第一看on背面的前提,要是A表中的一条数据对应on的两个前提在B中只要一条数据,则返回知足where前提的2条数据。

select * from B   b    inner  join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa

以上总结一条:看on背面的前提,在被关联表中的数据是一条还是多条。

更多相干题目请拜访百分百源码网:mysql视频教程

以上就是mysql的left join、right join、inner join的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板