zoukankan      html  css  js  c++  java
  • left join VS right join;inner join VS full join

    关于笛卡尔积

    现有a,b两张数据表,a有3条数据,b有5条数据

    select * from a,b; 这个结果将是a的记录数 × b的记录数 = 15条数据,

    1.inner join(内连接),在两张表进行连接查询时,只保留两张表中完全匹配的结果集。

    select * from a,b where a.id = b.id 等价于 select * from a inner join b on a.id = b.id,但推荐使用

    2.left join,在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。

    SELECT * FROM a LEFT JOIN b ON a.id=b.id ; //a表数据全部返回

    3.right join,在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。

    SELECT * FROM a RIGHT JOIN b ON a.id=b.id ; //b表数据全部返回

    4.full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。

    SELECT * FROM a FULL JOIN b ON a.id=b.id ; //a,b表的数据都返回

    根据工作中遇到的情况,来选择不同的连接方式。左连接并不是万能的,一开始思路清晰的敲代码,将会避免很多的坑!


  • 相关阅读:
    jsp四个域对象
    java,qq邮箱发邮件工具类(需要部分修改)
    Java使用qq邮箱发邮件实现
    JavaScript 高级
    JavaScript基础
    JQuery 高级
    JQuery 基础
    团队最后一次作业:总结
    C++多态
    结对编程
  • 原文地址:https://www.cnblogs.com/CatcherLJ/p/11812045.html
Copyright © 2011-2022 走看看