码迷,mamicode.com
首页 > 其他好文 > 详细

通俗易懂的join、left join、right join、full join、cross join

时间:2019-09-03 16:49:30      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:内连接   out   open   组合   closed   显示   交叉连接   style   合并   

内连接:列出与连接条件匹配的数据行(join\inner join)

外连接:两表合并,如有不相同的列,另外一个表显示null(left join\right join\full outer join\cross join)

以学生表:#table1和课程表:#table2为例  

技术图片            技术图片

技术图片
select * from #table1 stu join #table2 cou on stu.student_id = cou.stu_id;
Join

Inner join 等于join(当条件都满足时,列出满足条件的项)

执行结果和用where相同()

技术图片

技术图片
select * from #table1 stu left join #table2 cou on stu.student_id = cou.stu_id;
Left Join

left join :以左表为主,右表没有的项显示null;

技术图片

技术图片
select * from #table1 stu right join #table2 cou on stu.student_id = cou.stu_id;
Right Join

right join:以右表为主,左表没有的项显示null;

技术图片

技术图片
select * from #table1 stu full outer join #table2 cou on stu.student_id = cou.stu_id;
Full Outer Join

full outer join : 没有主次表之分,显示所有,相当于左、右连接的组合;

在Sql server数据库中,full join 和 full outer join(其他数据库没试过) 

select * from #table1 stu full join #table2 cou on stu.student_id = cou.stu_id; ——结果和full outer join 一样;

技术图片

技术图片
select * from #table1 cross join #table2 ;
Cross Join

cross join(交叉连接\笛卡儿积):返回左表中的所有行,左表中的每一行与右表中的所有行组合;

技术图片     技术图片

通俗易懂的join、left join、right join、full join、cross join

标签:内连接   out   open   组合   closed   显示   交叉连接   style   合并   

原文地址:https://www.cnblogs.com/Duancf/p/11453611.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!