首页 > 解决方案 > 谁能解释一下这个左连接输出?我是新来的

问题描述

我有 2 个表,只有一列。

p1 (id - 1,1,null)
p2(id - 1,1,null, null)

当我在做左加入时

(select * from p1 left join p2 on p1.id = p2.id) 

我得到 5 行

(1,1,1,1.null) 

我期待得到 4 行。请解释原因。

标签: sqljoinleft-join

解决方案


原因是 4 行用于 ID = 1,即 P1 中的每个 ID = 1 将与 P2 中的两行值 1 连接,同样,P1 中的第二个 1 将再次与 P2 中的 2 行连接。

第 5 行是 Null。


推荐阅读