zoukankan      html  css  js  c++  java
  • MySql连接——内连接、外连接(左连接、右连接、全连接)

    1. 内联接
        使用比较运算符根据每个表共有的列的值匹配两个表中的行
    2. 外联接
        1)左联接 left join /left outer join
            右表无匹配的时候,行为null,左表的行保留
        2)右联接 right join /right outer join
            左表无匹配的时候,行为null,右表的行保留
        3) 全联接 full join
             左表行、右表的行全保留
      3. 示例
        -------------------------------------------------
      a表     id   name     b表     id   job   parent_id   
                  1   张3                   1     23     1   
                  2   李四                 2     34     2   
                  3   王武                 3     34     4       
      a.id同parent_id   存在关系   
    --------------------------------------------------    
     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   

     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   

     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
     
    4. 推荐:ON只进行连接操作,WHERE只过滤中间表的记录
     
        SELECT T1.C1,T2.CX,T3.CY
        FROM TAB1 T1
               INNER JOIN TAB2 T2 ON (T1.C1=T2.C2)
               INNER JOIN TAB3 T3 ON (T1.C1=T2.C3)
               LEFT OUTER JOIN TAB4 ON(T2.C2=T3.C3);
        WHERE T1.X >T3.Y;
        上面这个SQL查询是多表连接的一个示范。
  • 相关阅读:
    WCF系列(七) WCF安全系列(二) netTCPBinding绑定之Transport安全模式
    WCF系列(六) WCF安全系列(一) basicHttpBinding
    Convert .Net Program To Mono
    Adware:Win32/FastSaveApp 清除
    Python Http Get Post请求
    Python正则表达式应用示例
    Basic4android 使用Basic开发Android应用
    Decode Android AndroidManifest.xml file via C#
    Python工作记录
    趣文:程序员/开发人员的真实生活
  • 原文地址:https://www.cnblogs.com/wangzaizhen/p/5272450.html
Copyright © 2011-2022 走看看