zoukankan      html  css  js  c++  java
  • 简谈

    一. 内连接(inner join)

    内连接包括相等联接和自然联接,通常使用像 =  或 <> 之类的比较运算符。

    简单地讲,内连接就是以两个表中相关联的列作为筛选条件,选出符合查询条件的所有数据行。

    二. 外连接(Outer join) 

    外连接包括

    1)LEFT  JOIN或LEFT OUTER JOIN   简单地说,就是以左边表的数据行数为两个组合表的总行数,如果左边表的某一行数值没有映射到右边表的某一行,那么照样输出左边表的那一行数值,而对应右表数值相应位置的值为空值。(A: 4X3, B: 3X3, AB = 4X6)

    2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN  与left join相反,就是以右边表的数据行数为两个组合表的总行数,如果右边表的某一行数值没有映射到左边表的某一行,那么照样输出右边表的那一行数值,而对应左表数值相应位置的值为空值。(A: 4X3, B: 3X3, AB = 3X6)

    3)FULL  JOIN 或 FULL OUTER JOIN 完整外部联接即返回左表和右表中的所有行。(A: 4X3, B: 3X3, AB = 7X6)

    三. 交叉连接(Cross join)
    交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。  (A: 4X3, B: 3X3, AB = 12X6)  

    例子:   
    --------------------------------------------------------------------------------------
      A表     id   name class address        B表     id   job   parent_id   
                  1   张3      A1       G                         1     23     1   
                  2   李四    A2        J                          2     34     2   
                  3   王武    A3        S                         3     34     5

                  4   小红    A4       H                         

     

    A.id 同 B.parent_id   存在关系   
    ---------------------------------------------------------------------------------------

    A: 4X3, B: 3X3, AB = 4X6

    select * from A inner join B on A.id = B.parent id;

    AB table :

       id   name class address id   job   parent_id   
       1   张3      A1       G               1     23     1   
       2   李四    A2        J                2     34     2   
       3   王武    A3        S               3     34     5 

       4   小红    A4       H                null

  • 相关阅读:
    虚拟化碎片知识
    CentOS升级内核及KVM安装(已试验,可行)
    Libvirt 虚拟化库剖析
    [ACM]Max Sum
    [ACM]n a^o7 !
    [java]ActionEvent事件:获取输入字符串的长度
    [ACM]The Best Seat in ACM Contest
    [java]ItemEvent事件:简单计算器
    通过注册表的句柄得到当前句柄在注册表中的路径
    [测试模式]Setup方法的滥用
  • 原文地址:https://www.cnblogs.com/Xbingbing/p/8686921.html
Copyright © 2011-2022 走看看