• 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表的行也被过滤
  • 相关阅读:
    ubuntu安装软件失败
    阶乘函数 注意事项
    汇编退出
    vim比较文件
    汇编调试
    Redis
    记录一次ajax使用
    oracle11g导出dmp文件时不能导出空表,导致缺表
    将小数点后的0去掉
    redis
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541201.html
Copyright © 2020-2023  润新知