zoukankan      html  css  js  c++  java
  • SQLServer inner join,left join,right join,outer join 备忘备忘

    LEFT JOIN
    LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。
    即LEFT JOIN 的 ON 条件不会对数据行造成影响


    RIGHT JOIN
    RIGHT JOIN 关键字会从右表那里返回所有的行,即使在左表中没有匹配的行。 

    INNER JOIN 
    INNER JOIN 关键字会从右表那里返回所有的行,即使在左表中没有匹配的行。

    INNER JOIN 的ON 条件会对数据行进行筛选

    因此 INNER JOIN的 ON条件 放在ON后 或 WHERE后是一样的效果

    从论坛里抄一句过来:

    on是连接条件, where是过滤条件。

    对内连接来说, 二者等价。

    对外连接来说,
    on影响侧输入的输出, 合连接条件则输出相应列值,不合则输出null, 对主输入无影响。
    where影响结果集。

    on是连接条件, where是过滤条件。

    对内连接来说, 二者等价。

    对外连接来说,
      on影响侧输入的输出, 合连接条件则输出相应列值,不合则输出null, 对主输入无影响。
      where影响结果集。


    select * from ta a left join tb on a.id=b.id and b.n is null
    此语句输出a表所有行,对于b表的列,当id=a.id且n为null时才会有输出。

    select * from ta a left join tb on a.id=b.id where b.n is null
    只有b.n为null的行,且a表中存在id=b.id时,才输出,符则a表的行也被过滤
    on是连接条件, where是过滤条件。

    对内连接来说, 二者等价。

    对外连接来说,
      on影响侧输入的输出, 合连接条件则输出相应列值,不合则输出null, 对主输入无影响。
      where影响结果集。


    select * from ta a left join tb on a.id=b.id and b.n is null
    此语句输出a表所有行,对于b表的列,当id=a.id且n为null时才会有输出。

    select * from ta a left join tb on a.id=b.id where b.n is null
    只有b.n为null的行,且a表中存在id=b.id时,才输出,符则a表的行也被过滤
    on是连接条件, where是过滤条件。

    对内连接来说, 二者等价。

    对外连接来说,
      on影响侧输入的输出, 合连接条件则输出相应列值,不合则输出null, 对主输入无影响。
      where影响结果集。


    select * from ta a left join tb on a.id=b.id and b.n is null
    此语句输出a表所有行,对于b表的列,当id=a.id且n为null时才会有输出。

    select * from ta a left join tb on a.id=b.id where b.n is null
    只有b.n为null的行,且a表中存在id=b.id时,才输出,符则a表的行也被过滤
    on是连接条件, where是过滤条件。

    对内连接来说, 二者等价。

    对外连接来说,
      on影响侧输入的输出, 合连接条件则输出相应列值,不合则输出null, 对主输入无影响。
      where影响结果集。


    select * from ta a left join tb on a.id=b.id and b.n is null
    此语句输出a表所有行,对于b表的列,当id=a.id且n为null时才会有输出。

    select * from ta a left join tb on a.id=b.id where b.n is null
    只有b.n为null的行,且a表中存在id=b.id时,才输出,符则a表的行也被过滤
  • 相关阅读:
    浙江嘉兴徒步游
    进阶攻略|最全的前端开源JS框架和库
    进阶攻略|最全的前端开源JS框架和库
    Java EE (9) -- JDBC & JTA
    进制转换
    高精度简单练习 【模板】
    T1683 车厢重组 codevs
    T1075 明明的随机数 codevs
    T5090 众数 codevs
    P3372 【模板】线段树 1 洛谷
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541201.html
Copyright © 2011-2022 走看看