mysql

作者: chenanle | 来源:发表于2017-05-18 16:43 被阅读0次
    • mysql中left join,right join,inner join的区别

    • A表

    id name
    1 A
    2 B
    3 C
    4 D
    5 E
    • B表
    id name
    1 F
    2 G
    3 H
    4 I
    6 K

    left join

    select * from A left join B on A.id = B.id;
    
    • 出来的结果是:
    image.png
    结果说明:
    left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
    换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.id = B.id)
    B表记录不足的地方均为NULL
    

    right join

    select * from A right join B on A.id = B.id;
    
    • 出来的结果是:
    image.png
    结果说明:
    仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充
    

    inner join

    select * from A inner join B on A.id = B.id;
    
    • 出来的结果是:
    image.png
    结果说明:
    很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录
    

    相关文章

      网友评论

          本文标题:mysql

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