Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL连接-在我的研究中有冲突的报告,还是我误解了?_Mysql_Join - Fatal编程技术网

Mysql SQL连接-在我的研究中有冲突的报告,还是我误解了?

Mysql SQL连接-在我的研究中有冲突的报告,还是我误解了?,mysql,join,Mysql,Join,我是个新手,正在研究SQL中的连接。我被引导到这个优秀的线程(),但它确实让我想到了一个关于我一直在做的关于连接的其他研究的问题 我最初的理解是,左外连接返回左表中的所有数据,加上包括所有共享集(维恩的中间、重叠、交叉、拾取术语),右外连接包括右表中的所有数据,加上包括所有共享集 …但我刚刚读了一篇博客(找到了Codinghoror推荐的链接),上面写着: “左外部联接结合了左联接和外部联接背后的思想。基本上,如果使用左外部联接,将得到左表中与右表中不匹配的记录。” 现在我有点困惑。我对写这些文

我是个新手,正在研究SQL中的连接。我被引导到这个优秀的线程(),但它确实让我想到了一个关于我一直在做的关于连接的其他研究的问题

我最初的理解是,左外连接返回左表中的所有数据,加上包括所有共享集(维恩的中间、重叠、交叉、拾取术语),右外连接包括右表中的所有数据,加上包括所有共享集

…但我刚刚读了一篇博客(找到了Codinghoror推荐的链接),上面写着:

“左外部联接结合了左联接和外部联接背后的思想。基本上,如果使用左外部联接,将得到左表中与右表中不匹配的记录。”

现在我有点困惑。我对写这些文章的人的聪明才智毫不怀疑,但我自己对此感到十分困惑。左/右外部联接是否实际包含共享数据?还是只包含不匹配的数据?为什么这个看似简单的概念如此令人困惑?外星人存在吗?谁杀了肯尼迪?妈妈


*这里有一个注释,上面提到的博客的作者确实包含了一个免责声明,她不是一个无所不知的大师……所以也许她错了?或者我只是不明白…

Ligaya Turmelle的文章是错误的。
左连接
左外连接

我也不认为Jeff实际上是在推荐这个博客,而是相信使用Venn图来描述文章的连接的想法。第一段以

然而,就像她的评论一样,我发现文恩 图表与我的数据库中的SQL连接语法不太匹配 测试。(增加了emphisis)

当你在Jeff的文章中看到他讨论左外连接的部分时,他注意到

为了只生成表A中的记录集,而不生成表B中的记录集,我们 执行相同的左外联接,然后排除我们不需要的记录 希望通过where子句从右侧删除


听起来像是一篇措辞拙劣的文章。如果您想要一个明确的答案,为什么不创建一些测试表和查询,看看会发生什么?无论如何,您最初的理解是正确的,至少对于我使用过的每一种RDBMS来说是正确的。第二篇文章描述的是反半联接,而不是外部联接。他们从A.C=B.C上的左外连接B描述
,其中B.C为空
,这是一个非常好的想法,Tab,谢谢-这将是巩固我理解的一个更好的方法@Alex,我理解如果你需要将此标记为dupe,它与其他一些文章非常相似,尽管不完全相同。没问题——我所看到的其他问题与博主的文章相矛盾,但我想知道我是否误解了什么,因为她的文章被一位受人尊敬的程序员引用了。再次感谢您,如果您标记/删除,则无需担心。谢谢你们两位的帮助!我想我上次没有看完那篇文章。这在很多问题上都是错误的。当然,也没有任何外部连接等同于“不与”的东西。那篇文章中的错误多于正确。