继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

sql执行顺序和join总结

realmoon
关注TA
已关注
手记 1
粉丝 1
获赞 51

Join类型

cross join 是笛卡儿乘积就是一张表的行数乘以另一张表的行数.
    inner join 只返回两张表连接列的匹配项.
    left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null.
    right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null. 
    full join 返回两张表中的行 left join+right join

sql执行顺序

1.FROM
    2.ON
    3.JOIN
    4.WHERE
    5.GROUP BY
    6.WITH CUBE or WITH ROLLUP
    7.HAVING
    8.SELECT
    9.DISTINCT
    10.ORDER BY
    11.TOP

on中不是最终过滤, 因为后面left join还可能添加回来, 而where才是最终过滤.

只有当使用外连接(left, right)时, on 和 where 才有这个区别, 如果用inner join, 在哪里制定都一样, 因为on 之后就是where, 中间没有其它步骤

打开App,阅读手记
16人推荐
发表评论
随时随地看视频慕课网APP