sql左右连接通俗易懂讲解

作者:活力源 | 创建时间: 2023-03-24
sql左右连接通俗易懂讲解

操作方法

对新人来说,有些容易混淆却又是新东西的时候,往往第一印象没有深深的扎根之后,以后就会经常混淆,比如sql的左右内连接问题,有些人老是分不清到底是左还是右还是用内连接。再次本人将用通俗易懂的方法分享给大家容易记住的东西。 例子:    a表         id   name           b表   id     job   parent_id                1   张3                   1     23     1                2   李四                  2     34     2                3   王武                  3     34     4 这里,可以看到a,b两张表是通过主外键id,parent_id关联的。 a表,id有1,2,3 b表,parent_id就是对应a表的id 有1,2,4 1、内连接语句 select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id 查询结果 1   张3                   1     23     1    2   李四                  2     34     2 总结:内连接其实就是把两张表相同的东西,也就是说都有的东西相匹配。 2、左连接语句 select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id  查询结果  1   张3                    1     23     1    2   李四                  2     34     2    3   王武                  null 总结:a left join b 我们可以这里理解a在b的左边,就是说以a(left那个为主)为主,a中的满足条件的全部显示,在b中没匹配的全部用null代替。 3、右连接语句 select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id  查询结果  1   张3                   1     23     1    2   李四                 2     34     2    null                       3     34     4 总结:与左连接正好相反。a right join b 我们可以这里理解a在b的右边,就是说以b(right那个为主)为主,b中的满足条件的全部显示,在a中没匹配的全部用null代替。 4、全连接语句 select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   查询结果      1   张3                   1     23     1    2   李四                 2     34     2    null                 3     34     4    3   王武                 null 总结:这个可以理解成左右连接的综合。所有满足条件的记录全部显示,对应表中没有的全部用null代替。

点击展开全文

更多推荐