SQL中inner join,outer join和cross join的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中inner join,outer join和cross join的区别相关的知识,希望对你有一定的参考价值。

参考技术A 1、内连接:inner
join(典型的连接运算,使用像
=

<>
之类的比较运算符)。包括相等连接和自然连接。
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。
2、外连接:outer
join,外连接可以是左向外连接、右向外连接或完整外部连接。
在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:
LEFT
JOIN

LEFT
OUTER
JOIN。
左向外连接的结果集包括LEFT
OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT
JOIN

RIGHT
OUTER
JOIN。
右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
FULL
JOIN

FULL
OUTER
JOIN。
完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
3、交叉连接:cross
join,交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。

以上是关于SQL中inner join,outer join和cross join的区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL中inner join,outer join和cross join的区别

SQL中inner join,outer join和cross join的区别

SQL中的left outer join,inner join,right outer join用法详解

SQL中inner join,outer join和cross join的区别

SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)