• SQL中左连接on and条件和where条件执行先后顺序


    执行顺序:先执行on and条件,再执行where条件

    具体是:首先根据on and条件过滤出满足条件的右侧表记录,然后根据关联字段,左侧表再与过滤出的右侧表记录进行连接,

    满足关联字段相等,则返回左侧表和右侧表字段信息;若不满足,则返回左侧表字段信息,右侧表字段则显示NULL。

    连接出的结果则存入临时表中。最后where条件是对临时表中的数据进行过滤。

    左连接:Left join,以左侧表为主,不管on条件是否满足条件,左侧表的所有记录都会返回。

    换句说:on and后面的条件对左侧表没有过滤作用,即使加上对左侧表的过滤,也不起作用。

    on后面的条件对右侧表的过滤起作用。where条件则对左连接后的临时表数据进行筛选。

    以例子说明:

    select * from A left join B

    on A.ID = B.ID and B.NAME = '连接' and A.NAME = ‘左连接’

    where NAME = '左连接'

    on and后面的条件:B.NAME对B表有过滤作用,A.NAME对A表不起过滤作用

    where后面的条件:则是对左连接出的临时表数据进行过滤

  • 相关阅读:
    Android动画系列
    Handler处理机制
    cp命令覆盖文件时不用按Y来确认的方法
    phantomjs
    无界面模式
    win10上安装keras
    MongoDB 排序
    MongoDB 条件操作符
    MongoDB 对象操作
    SQL 和 NoSQL 的区别
  • 原文地址:https://www.cnblogs.com/zmwy/p/15346286.html
Copyright © 2020-2023  润新知