zoukankan      html  css  js  c++  java
  • 理解内连接、外连接、左连接、右连接、交叉连接、全连接、自身连接

    〇、表之间的连接查询分为内连和外连

      1、内连包括:内连(INNER JOIN)、自身连接、交叉连接(CROSS JOIN

      2、外连包括:左连(LEFT JOIN、右连(RIGHT JOIN全连接(FULL JOIN

      3、对于全连接、交叉连接暂时按上述类别划分,如有错误请指出。

    一、内连

      1、内连是最常用的表之间的连接查询;

      2、语法SELECT 列名1,列名2 FROM 表名1 INNER JOIN 表名2 ON  条件表达式;

      3、INNER关键字可以省略;

      4、内连接只返回两个表中连结字段相等的行

    二、左连

      1、语法SELECT 列名1,列名2 FROM 表名1 LEFT JOIN 表名2 ON  条件表达式;

      2、左连接返回包括左表中的所有记录和右表中连结字段相等的记录

    三、右连

      1、语法SELECT 列名1,列名2 FROM 表名1  RIGHT JOIN 表名2 ON  条件表达式;

      2、右连接返回包括右表中的所有记录和左表中连结字段相等的记录

    四、交叉连接

      1、语法SELECT 列名1,列名2 FROM 表名1   CROSS JOIN 表名2 ;(注意:交叉连接不能有条件表达式)

      2、在内连接的基础上,还包含两个表中所有不符合条件的数据行,并在其中的左表、和右表列填写NULL,即两个表的笛卡尔积

    五、全连接

      1、语法SELECT 列名1,列名2 FROM 表名1  FULL JOIN 表名2 ON  条件表达式;

      2、在内连接的基础上,还包含两个表中所有不符合条件的数据行,并在其中的左表、和右表列填写NULL

    六、自身连接

      1、语法SELECT 列名1,列名2 FROM 表名1  JOIN 表名1 ON  条件表达式;

      2、自身连接是指同一个表自己与自己进行连接。这种一元连接通常用于从自反关系(也称作递归关系)中抽取数据。

    示例:

    表A:

    aID   aNum

    1     a1

    2     a2

    3     a3

    4     a4

     

    表B:

      bID   bName

    1     b1

    2     b2

    3     b3

    7     b7

     

    join:select * from A join B on A.aID=B.bID

    结果如下:

    aID   aNum   bID   bName

    1     a1    1     b1

    2     a2    2     b2

    3     a3    3     b3

         

    left joinselect * from A left join B on A.aID=B.bID

    结果如下:

    aID   aNum   bID   bName

    1     a1    1     b1

    2     a2    2     b2

    3     a3    3     b3

      4       a4    null    null

    right joinselect * from A right join B on A.aID=B.bID

    结果如下:

    aID   aNum   bID   bName

    1     a1    1     b1

    2     a2    2     b2

    3     a3    3     b3

    null    null    7         b7

    至于交叉连接、全连接、自身连接就不再举例,可以自己试试。

  • 相关阅读:
    用fiddler测试ip轮询
    ubuntu下安装fiddler
    Andriod相机开发关于startPreview Failed的错误的特别记录(重要)
    我的Cocos2dx开发模式
    Android WebView导入HTML使Js生效的方法
    Lua快捷键
    String,StringBuilder,StringBuffer的对比测试
    重构视角(摘抄)
    String属于“假引用类型”,代码为证(一个String引发的血案...)
    static class
  • 原文地址:https://www.cnblogs.com/xiesong/p/5546108.html
Copyright © 2011-2022 走看看