zoukankan      html  css  js  c++  java
  • sql语句中 left join,right join,inner join 的区别

    看到了sql,发现好久没写sql甚是想念哈哈哈哈,好多当时学的东西都忘了,当时总结的好多的文档也怎么都找不到了.....

    言归正传,找到了一张图感觉描述的还挺清晰,先贴图,再说说自己的理解。

    1.LEFT JOIN(左连接)

    select id,name fromg student s left join adddress  a on s.id=a.id;(学生的信息会全部查出,即使在地址表里没有该生的信息)

    左表为主,返回包括左表中的所有记录和右表中联结字段相等的记录。

    2.right JOIN(右连接)

     跟左连接相似,返回包括右表中的所有记录和左表中联结字段相等的记录。

    3.INNER JOIN(内连接)

    select id,name from student s join address a on s.id=a.id;(地址表中如果没有学生对应的id,查询时不会显示)

    inner join 其实就是join,两个是一回事。是等值连接,只返回两个表中联结字段相等的行。也就是求交集,没有关联的不显示。

    4.OUTER JOIN(外连接)

    情形一:

    外连接就是求两个表A和B集合的并集。从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。另外MySQL不支持OUTER JOIN,但是我们可以对左连接和右连接的结果做 UNION 操作来实现。

    情形二:

     A和B中不满足某个条件的记录

    唯有热爱方能抵御岁月漫长。
  • 相关阅读:
    移动端屏幕适配解决方案
    ES6学习笔记(1)——模块化
    弹性盒布局学习总结
    阮一峰之webpack-demos(译)
    阮一峰的Git分支管理策略之学习总结
    移动端测试之服务器搭建
    webApp 移动Touch框架
    Javascript 严格模式详解
    caller和callee的区别
    avalon 中require.config源码分析
  • 原文地址:https://www.cnblogs.com/syq816/p/12244044.html
Copyright © 2011-2022 走看看