• MYSQL之內链接 左链接 右链接 区别


      MYSQL中可以通过内外键链接,将有关系的表中数据合并到一起进行条件筛选:

    首先创建两个新表,数据如下:

    student 表数据:

    score 表数据:

    可以看到students表中stu_id为16048008的记录对应score表没有数据;

    1.当进行内连接时,系统会自动忽略两个表中对应不起来的数据:

    -- 显示内连接所有数据:
    SELECT * FROM students st INNER JOIN score sc ON st.sid=sc.stu_id;

      数据太多,只截图最末尾的:

      可以看到,数据只显示到16048007,16048008的并没有显示,所以内连接只显示所有有关联的数据.

    2.左链接,显示关键词left左边表中的所有数据,右边表数据数据少了补NULL值,数据多了不显示;

    -- 左外链接 left
    SELECT * FROM students st LEFT JOIN score sc ON st.sid=sc.stu_id;

      可以看到,16048008在右边score表中没有数据,系统用NUll补齐,

    SELECT * FROM score sc LEFT JOIN students st ON st.sid=sc.stu_id;

      上图是我们将students表和score表换了一下位置的运行结果,可以看出,本来右边表16048008记录,因为在左边表钟没有数据对应,所以被删除了,可以看出,左链接是以左边表中数据为参照,显示左边表中所有数据,右边表,只显示与左边表对应的数据,少了补NULl,多了删除;

      同理,右链接是以右边为参照,左边少了补NULL,多了删除,这里就不多说了;

      以上可以得出:

      1.内连接,显示两个表中有联系的所有数据;

      2.左链接,以左表为参照,显示所有数据;

      3.右链接,以右表为参照显示数据;

    简简单单,不急不躁,每天充实而稳定的前行!
  • 相关阅读:
    读《大道至简》第七、八章有感
    跨域AJAX
    简单的变长数组
    约瑟夫环问题
    BZOJ 1050: [HAOI2006]旅行comf
    BZOJ 1061: [Noi2008]志愿者招募
    BZOJ 1016: [JSOI2008]最小生成树计数
    20155326刘美岑 2016-2017-2 《Java程序设计》第5周学习总结
    6月13日云栖精选夜读:数梦工场完成A轮7.5亿融资 三个维度构建“新型互联网”
    Java使用POI实现数据导出excel报表
  • 原文地址:https://www.cnblogs.com/tojiayu/p/MYSQL.html
Copyright © 2020-2023  润新知