【发布时间】:2023-03-09 01:22:01
【问题描述】:
网上搜索SQL join可以找到下图:
我们能否将其解释为Venn diagram,如下所示?
- 标有表 A 的圆圈是表 A 中的记录集
- 标有表 B 的圆圈是表 B 中的记录集
- 集合的交集代表内连接(也就是 SQL 中的连接)
动机
所示的图表以各种形式广泛出现在网络上,看起来非常像维恩图。所以第一个直觉是把它想象成一个维恩图。但是,尝试定义“Table A”和“Table B”集合的内容可能会卡住。
互联网上也有似乎有冲突的信息。这个问题希望有助于解决出现的一些冲突。一些网站认为我们不应该使用维恩图来解释连接:
- https://towardsdatascience.com/can-we-stop-with-the-sql-joins-venn-diagrams-insanity-16791d9250c3
- https://blog.jooq.org/2016/07/05/say-no-to-venn-diagrams-when-explaining-joins/
虽然还有其他信息使用表 A 和 B 之间的维恩图来解释这些表上的连接,例如
【问题讨论】:
-
考虑用您的奖金标记问题,要求版主将奖金移至此处(或取消它以免在此处造成混乱)。但解释清楚。你可以参考this meta question。但是这个问题只是询问对 1 Venn 标签的特定解释,而没有理由认为这些甚至是任何人在写作或阅读中使用过的解释。所以目前尚不清楚这是否是您想要回答的问题。并且对于内部与外部有一个有效的维恩。祝你好运。
-
谢谢@philipxy。是你们的 cmets 让我看到了曙光:在这个已经很混乱的问题上加分可能是个坏主意。但是,我不愿意为我自己的问题带来好处,因为它似乎有点吸引注意力。这个问题已经回答了,所以就像说“嘿,伙计们,看看我的好答案!请投票,这样我就可以收回我在奖金上失去的一些代表”另外,我还有其他问题要问并回答这个问题。这当然不是结束。
标签: sql join inner-join outer-join