如何解决谁能解释这个左联接输出?我是新来的
我有2个表,只有一列。
p1 (id - 1,1,null)
p2(id - 1,null,null)
当我在做左联接时
(select * from p1 left join p2 on p1.id = p2.id)
我得到5行
(1,1.null)
我原本希望获得4行。 请解释原因。
解决方法
原因是ID = 1的4行,即P1中的每个ID = 1将与P2中的两行连接在一起,其值为1,并且同样明智的是P1中的秒1将再次与P2中的2行连接。
第5行代表Null。
,SQL左联接基本上是一个联接,它将使左表上的索引与右表加上左表的所有不匹配记录相匹配。 现在,当您没有重复的行时,左联接非常简单
从图像中可以看出,左右表中分别有5条记录,其中3条匹配。因此,SQL左联接将返回所有匹配的记录一次以及所有不匹配的记录,我们的最终答案将是
罗纳尔多,梅西,齐达内,特里和波格巴
现在,如果像您的情况那样在正确的表中有重复的记录,该怎么办
。
现在,由于梅西和齐达内各有2条记录,因此左联接将返回梅西和齐达内的两条记录,因此最终输出将为
罗纳尔多,梅西,梅西,齐达内,齐达内,特里和波格巴
希望,我能帮助您澄清疑问
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。