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

  • 相关阅读:
    Android软件常用下载
    布同:如何解决Python中文问题(总结了多位前人经验,初学者必看)
    布同:统计英文单词的个数
    布同:网络服务器的结构设计
    新浪微博快速发布器【正在制作中】
    布同:Python函数帮助查询小工具[v1和v2]
    写概要设计的简单心得
    手写分页 个人感觉还能优化,甚至抽象出来,需要高手讲解
    让我纠结的IIS和他的回收
    今天学了WCF记录一下
  • 原文地址:https://www.cnblogs.com/Xbingbing/p/8686921.html
Copyright © 2011-2022 走看看