join是sql中至关重要的一个方法,也是工作中经常用到的,但是这之间的区别,可能还有人不太清楚,额,说实话,我也不太清楚,但是也是梳理了一下逻辑,仅供参考。
join等价于inner join(内连接),是会将符合条件的全部展示
left join(左连接)a表与b表,select id,name from tablea left join table b on a.id=b.id,什么意思呢,就算说,假如a表有b表没有,则只展示a表有且能与b表关联的符合条件的数据,不符合条件则不展示
right join(右连接),同左连接
full join(全连接),全连接也是工作中经常经常经常会有到的,他的意思呢就是说,可以当作是left join和right join的结合,根据条件显示所有数据,没有则以空数据展示
left out join(左外连接),可以理解为a表和b表关联,a表有b表没有,则只展示a表数据,b表数据为空展示
rigth out join(右外连接),同左外连接
cress join(笛尔卡积连接),可以理解为a表*b表,比如a表张三,b表语文,数学,英语,则结果就是,张三,语文,张三,数学,张三,英语。
以上是我整理的,如有问题,欢迎指正。