• 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

  • 相关阅读:
    转_前端开发技术概要
    获取链接的参数
    tabIndex 主要是美化tab键切换的体现
    textarea自动增高并隐藏滚动条
    Zen Coding:css,html缩写替换大观让你的html,css飞起来
    动态添加链接颜色代码
    转javascript 数组
    为指定元素增加样式
    1 CodeBox代码盒子 alpha版发布
    转发布js支持Firefox的加入收藏代码
  • 原文地址:https://www.cnblogs.com/myblogslh/p/5236869.html
Copyright © 2020-2023  润新知