小编典典

为什么这么称呼内部联接和外部联接?

sql

我了解内部和外部联接的工作方式。但是,在此上下文中,“内部/外部”一词的含义是什么?内部联接到底是什么?外部联接的外部是什么?

最好的问候


阅读 231

收藏
2021-03-23

共1个答案

小编典典

另一个角度:

最早的简单实现之一是使用嵌套循环的联接。

  1. 对于内部联接,只要联接列匹配,外部循环将遍历任何关系,内部循环将遍历其他关系并创建复合行。因此,将在内部循环中创建并填充输出行。因此,这称为INNER JOIN。

  2. 当我们希望保留左侧关系\表中的所有行时,外部循环将不得不在左侧表上进行迭代,不仅行会在匹配情况下的内部循环中添加行,而且还会在不匹配的情况下在外部循环中添加行情况(根据连接列,左表在右表中没有匹配的行)。在这种情况下,左表需要转到外循环,因此它被称为LEFT OUTER JOIN。

  3. 当我们希望保留右侧关系\表中的所有行时,右侧表将需要进入外部循环,因此它被称为RIGHT OUTER JOIN。

  4. 当我们希望保留两个表的不匹配行时,以最简单的方法,我们将有两个嵌套循环。一个嵌套循环在外部循环中具有左表,而另一个嵌套循环在外部循环中具有右表。因此,两个表都进入外循环,因此被称为FULL OUTER JOIN。

将链接添加到有关嵌套循环实现的文章中:http
:
//www.cs.berkeley.edu/~brewer/cs262/3-selinger79.pdf

2021-03-23