700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql的left join right join inner join

mysql的left join right join inner join

时间:2023-09-28 08:27:31

相关推荐

mysql的left join right join inner join

数据库|mysql教程

mysql

数据库-mysql教程

A加油卡表:

shopnc最新版源码,ubuntu监控内存占用,网上可以爬虫吗,110php,全新内容 seolzw

id, userName, cardNo

挂靠网网站源码,安装ubuntu在grub,tomcat不释放端口号,爬虫都有什么生肖,学习php最好的图文网站技术,seo营销加盟lzw

1 aaa 111

wince mediaplayer 源码,vscode开始框架快捷键,ubuntu内置源,tomcat书籍是什么,steam爬虫教学,php 代码优化工具,山西做seo优化推广的公司,金融企业网站模板lzw

2 bbb 111

3 aaa 222

B加油记录表:

id, number, userName , cardNo,

1 1234 aaa111

2 234 bbb111

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后面的条件,在被关联表中的数据是一条还是多条。

更多相关问题请访问PHP中文网:mysql视频教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。