gpt4 book ai didi

mysql - SQL JOINS - 我的研究报告相互矛盾,还是我误解了?

转载 作者:可可西里 更新时间:2023-11-01 08:15:22 26 4
gpt4 key购买 nike

我是新手,正在研究 SQL 中的 JOINS。我被定向到这个优秀的线程 ( Difference between INNER and OUTER joins ),但它确实让我想到了一个关于我一直在做的关于连接的其他研究的问题。

我最初的理解是 Left Outer Join 返回左表的所有数据,加上包括所有共享集(维恩中间,重叠,交叉,选择一个术语),而 Right Outer Join 包括所有右侧表中的数据,加上包括所有共享集...

...但我刚刚阅读了一篇博客(找到了 CodingHorror 推荐的链接 http://www.khankennels.com/blog/index.php/archives/2007/04/20/getting-joins/http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/),上面写着:

“左外连接结合了左连接和外连接背后的思想。基本上 - 如果您使用左外连接,您将在左表中获得在右表中没有匹配项的记录。”

....现在我很困惑。我几乎/毫不怀疑写这些文章的人的聪明才智,但我自己对此感到很傻。 Left/Right Outer Join 实际上包含共享数据吗?或者它是否只包含不匹配的数据?为什么这个看似简单的概念如此令人困惑?外星人存在吗?谁射杀了肯尼迪?妈妈?!

*这里要注意,上述博客的作者确实包含免责声明,即她不是无所不知的大师……所以也许她错了?或者我只是不明白...

最佳答案

Ligaya Turmelle 的文章是错误的。 LEFT JOINLEFT OUTER JOIN

没有区别

我也不认为 Jeff 实际上是在推荐博客,而是将使用维恩图描述文章连接的想法归功于此。第一段以

结尾

However, like the commenters to her post, I found that the Venn diagrams didn't quite match the SQL join syntax reality in my testing. (emphisis added)

当您真正了解 Jeff 的文章中他讨论 LEFT OUTER JOIN 时,他指出

To produce the set of records only in Table A, but not in Table B, we perform the same left outer join, then exclude the records we don't want from the right side via a where clause.

关于mysql - SQL JOINS - 我的研究报告相互矛盾,还是我误解了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com