Outer join 和inner join 区别(SQL中的innerjoin、outerjoin和crossjoin有什么区别)

2023-11-14 22:00:02 :38

outer join 和inner join 区别(SQL中的innerjoin、outerjoin和crossjoin有什么区别)

“outer join 和inner join 区别”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看outer join 和inner join 区别(SQL中的innerjoin、outerjoin和crossjoin有什么区别)!

本文目录

SQL中的innerjoin、outerjoin和crossjoin有什么区别

对于SQL中innerjoin、outerjoin和crossjoin的区别,如果你使用join连表,缺陷的情况下是innerjoin,另外,开发中使用的leftjoin和rightjoin属于outerjoin,另外outerjoin还包括fulljoin.下面我通过图标让大家认识它们的区别。

现有两张表,TableA是左边的表。TableB是右边的表。其各有四条记录,其中有两条记录name是相同的:

1.INNERJOIN产生的结果是AB的交集

SELECT*FROMTableAINNERJOINTableBONTableA.name=TableB.name

2.LEFTJOIN产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。

SELECT*FROMTableALEFTOUTERJOINTableBONTableA.name=TableB.name

3.RIGHTJOIN产生表B的完全集,而A表中匹配的则有值,没有匹配的则以null值取代。

SELECT*FROMTableARIGHTOUTERJOINTableBONTableA.name=TableB.name

图标如leftjoin类似。

4.FULLJOIN产生A和B的并集。对于没有匹配的记录,则会以null做为值。

SELECT*FROMTableAFULLOUTERJOINTableBONTableA.name=TableB.name

你可以通过isNULL将没有匹配的值找出来:

SELECT*FROMTableAFULLOUTERJOINTableBONTableA.name=TableB.name

WHERETableA.idISnullORTableB.idISnull

mysql中inner join和outer join有什么区别

joins主要是合并两个表中的数据组成一个临时的结果集,on后面指定执行连接所使用的的条件。inner join返回两个表基于连接条件实际匹配的行,即两个表交集。outer join返回两个表的并集结果,即匹配条件不满足的两个表的记录也将返回。

下面结合实例讲解,有如下两个表:

sql: select * from A a inner join B b on a.ID = b.ID; 或者 select * from A a, B b where a.ID = b.ID;

查询结果如下:

OK,关于outer join 和inner join 区别和SQL中的innerjoin、outerjoin和crossjoin有什么区别的内容到此结束了,希望对大家有所帮助。

outer join 和inner join 区别(SQL中的innerjoin、outerjoin和crossjoin有什么区别)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.