内部加入,交叉加入和左外部加入有什么区别?

时间:2010-04-25 11:31:35

标签: inner-join outer-join cross-join

如果内部连接可以被认为是交叉连接,然后获得满足条件的记录,那么LEFT OUTER JOIN可以被认为是,加上左表上的一条记录没有满足条件。

换句话说,它不是左边记录上“变得容易”的交叉连接(即使条件不满足),因为那时左记录可以出现很多次(与记录中的记录一样多)正确的表格。)

那么LEFT OUTER JOIN是满足条件的记录的交叉JOIN,还有LEFT TABLE中不满足条件的一条记录?

1 个答案:

答案 0 :(得分:1)

我不认为左外连接是这样是正确的:“交叉连接的记录是否满足条件,而左表的一条记录不满足条件”。

没有条件的内部联接与交叉联接相同。 x上的内连接与x中的交叉连接相同。但更喜欢第一种,因为它更明确,更难以出错。

但是,对于外连接,您并不总是得到“不满足条件”的行。左外连接和内连接之间的区别是:

  • 内部联接:如果左表中某行的连接条件对于右表中的每一行都失败,则不会获得该行。
  • 外部联接:如果左表中某行的连接条件对于右表中的每一行都失败,则从左表中获取右表中的列的行。

你没有得到匹配的行和没有得到的行 - 你要么得到第一种情况要么得到第二种情况。您的陈述似乎暗示您可以同时获得两者。