创新互联于2013年开始,先为海拉尔等服务建站,海拉尔等地企业,进行企业商务咨询服务。为海拉尔企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
MySQL联表查询可以说是使用MySQL必须面对的问题,而且在实际的工作中,使用比较多的查询大概也是联表查询。虽然,经常使用联表查询,但是你真的清楚其中的机制吗?
带着这个问题,下面让我们进入本文的主题——图说MySQL的几种join连接。
连接(join)就是将多个表中的字段根据匹配条件进行横向的拼接。
左表:在语法上位于join左边的表,叫左表。
右表:在语法上位于join右边的表,叫右表。
1、交差连接(cross join)
用左表中的每一行数据去匹配右表中的每一行数据,且认为全部匹配成功。最终的结果集是迪卡尔积。
语法:
select * from 左表 cross join 右表;
示例:
2、内连接(inner join)
使用左表中的每一条记录去匹配右表的所有的记录,根据匹配的条件,如果成立,保留整条记录,如果不成立则丢弃。
用文氏图表示,则如下:
语法:
select * from 左表 【inner】 join 右表 【on 条件】
示例:
3、左连接(left join)
将左表作为主表,用主表中的每一条记录,去匹配从表(右表)中的所有记录,根据匹配的条件,如果成功则将主表的记录中的字段与从表的记录中的记录,拼接成一条完整的记录,放到结果集;如果不成功则将从表中的记录中的字段全部置为null,保留主表中的字段。
用文氏图表示,如下:
语法:
select * from 左表 left join 右表【on条件】
示例:
4、右连接(right join)
将右表作为主表,用主表中的每一条记录,匹配从表中的所有记录,根据匹配的条件,如果成功则将主表的记录中的字段与从表的记录中的记录,拼接成一条完整的记录,放到结果集。如果不成功则将从表中的记录中的字段全部置为null,保留主表中的字段。
用文氏图表示,如下:
语法:
select * from 左表 right join 右表【on条件】
示例:
5、自然连接(natural join)
对两表进行连接查询时,系统会盲目的用同名字段为匹配条件。会合并同名字段,并且将匹配字段放到结果集的前面。
然自然连接分为左自连接和右自然连接。
直接使用natural join连接主表和从表,相当于内连接
当使用natural left join时,相当于左连接
当使用natural right join时,相当于右连接
自然链接(natural join)
语法:
select * from 左表 natural join 右表
示例:
左自然连接(natural left join)
语法:
select * from 左表 natural left join 右表
示例:
右自然连接(natural right join)
语法:
select * from 左表 natural right join 右表
示例:
分享题目:图说MySQL的几种join连接
网页网址:http://www.csdahua.cn/qtweb/news2/515202.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网