美文网首页
SQL left join与right join

SQL left join与right join

作者: 鸣鸣是你爱吃鱼 | 来源:发表于2017-10-19 16:37 被阅读0次

    之前一直对左右连接的区别与联系模糊不清,今天自己做了一个例子,清晰易懂。

    1. 首先 建两张表:表a 、表b
    表a.png 表b.png
    left join
    • 先看这一种情况:
    SELECT *
    FROM a A
    LEFT JOIN b B
    ON A.id=B.id
    

    查询结果:

    left join.png

    left join 左边是主表,即主表是a表,所以优先参考a,在b表中没有对应的数据就显示为空。

    • 第二种情况:
    SELECT *
    FROM b B
    LEFT JOIN a A
    ON A.id=B.id
    

    查询结果:


    left join.png

    这种情况主表是 b 表,所以优先考虑b表数据,对应的在a表中没有的数据显示为null,但是不存在这种情况,所以只能显示a表中,符合条件的两条数据。

    同时可以发现,在sql语句中,from后面先出现的表,在查询的时候最先显示出来。
    同理,在select 的后面,先查询的字段会在查询结果中,先显示出来。
    right join
    • 第一种情况:
    SELECT *
    FROM a A
    RIGHT JOIN b B
    ON A.id=B.id
    

    查询结果:

    right join.png
    可以看到与 left join 的第二种情况 查询的数据是一样的,但是表中显示的结果是相反的。
    • 第二种情况:
    SELECT *
    FROM b B
    RIGHT JOIN a A
    ON A.id=B.id
    

    查询结果:

    right join.png
    可以看到与 left join 的第一种情况,查询数据一样,但是显示顺序是相反的。

    相关文章

      网友评论

          本文标题:SQL left join与right join

          本文链接:https://www.haomeiwen.com/subject/nkzuuxtx.html