zoukankan      html  css  js  c++  java
  • mysql---左连接、右连接、内连接之间的差别与联系

    现有两张表

    第一张表为男生表,记录了男生的姓名和配偶的编号

    第二张表为女生表,记录了女生的姓名和自己的编号



    第一种情况:主持人请全部男生都上台。而且带上自己的配偶。这时无论男生有没有配偶都要上台,所以是以男生表为基准关联女生表

    能够考虑用左连接


    屌丝比較悲剧,在女生表中没有他的配偶。所以gname和gname.other都为NULL。高富帅肯定美女环抱,所以有多行记录。


    另外一种情况:主持人请全部女生都上台,而且带上自己的配偶。这时无论女生有没有配偶都要上台,所以是以女生表为基准关联男生表

    能够考虑用左连接


    小美也比較悲剧,在男生表中没有相应的配偶,所以bname和bname.other都为NULL。至于小娇、小芝、小琳跟高富帅和小王的关系就比較乱了,也有多行。


    第三种情况:主持人请全部有配偶的男女生上台,这是就能够用内连接了



    可见boy left join girl on boy.other = girl.other含义是:在girl表中找到满足条件boy.other = girl.other的行与boy表中相应的行组合,boy表中没有在girl表中匹配的行补NULL。


    左右连接及内连接的关系:

    左右连接能够相互转换。A left join B on 条件 等价于 B left join A on 条件

    内连接 A inner join B on 条件 是   A left join B on 条件 和 B right join A on 条件的交集。

  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7080062.html
Copyright © 2011-2022 走看看