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表的数据都返回

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


  • 相关阅读:
    [转]Hamcrest使用方法实例
    Maven配置浅析
    Guava API
    awk排序作业
    [转]awk使用手册
    Vue源码探究-全局API
    vue 组件间传值
    在2018年如何优雅的开发一个typescript语言的npm包?
    PHP四种序列化方案
    从 0 到 1 再到 100, 搭建、编写、构建一个前端项目
  • 原文地址:https://www.cnblogs.com/CatcherLJ/p/11812045.html
Copyright © 2011-2022 走看看