zoukankan      html  css  js  c++  java
  • sql的各种join连接

     1 SELECT * FROM TableA INNER JOIN TableB
     2 ON TableA.name = TableB.name
     3 id  name       id   name
     4 --  ----       --   ----
     5 1   Pirate     2    Pirate
     6 3   Ninja      4    Ninja
     7 
     8 
     9 Inner join
    10 产生的结果集中,是A和B的交集。
    11  Venn diagram of SQL inner join 
    12 SELECT * FROM TableA FULL OUTER JOIN TableB
    13 ON TableA.name = TableB.name
    14 id    name       id    name
    15 --    ----       --    ----
    16 1     Pirate     2     Pirate
    17 2     Monkey     null  null
    18 3     Ninja      4     Ninja
    19 4     Spaghetti  null  null
    20 null    null    1     Rutabaga
    21 null    null    3     Darth Vader
    22 
    23 
    24 Full outer join 产生A和B的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。
    25  Venn diagram of SQL cartesian join 
    26 SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name
    27 id  name       id    name
    28 --  ----       --    ----
    29 1   Pirate     2     Pirate
    30 2   Monkey        null    null
    31 3   Ninja      4     Ninja
    32 4   Spaghetti    null    null
    33 
    34 
    35 Left outer join 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。
    36  Venn diagram of SQL left join 
    37 SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableB.id IS null
    38 id  name       id     name
    39 --  ----       --     ----
    40 2   Monkey    null    null
    41 4   Spaghetti    null    null
    42 
    43 
    44 产生在A表中有而在B表中没有的集合。
    45  join-left-outer.png 
    46 SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableA.id IS null OR TableB.id IS null
    47 id    name       id    name
    48 --    ----       --    ----
    49 2     Monkey    null    null
    50 4     Spaghetti    null    null
    51 null    null    1     Rutabaga
    52 null    null    3     Darth Vader
    53 
    54  

    原文地址:http://www.nowamagic.net/librarys/veda/detail/936

  • 相关阅读:
    MR中简单实现自定义的输入输出格式
    简单实现CombineFileInputFormat
    提高mapreduce性能的七点建议
    MR中使用sequnceFIle输入文件
    Hive中使用LZO
    JVM启动参数详解 (转)
    ubuntu12.04中shell脚本无法使用source的原因及解决方法
    hadoop 错误
    poj 3211 Washing Clothes
    hdu 3535 AreYouBusy
  • 原文地址:https://www.cnblogs.com/myblogslh/p/5236869.html
Copyright © 2011-2022 走看看