sql - 谁能解释一下这个左连接输出?我是新来的
问题描述
我有 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 行。请解释原因。
解决方案
原因是 4 行用于 ID = 1,即 P1 中的每个 ID = 1 将与 P2 中的两行值 1 连接,同样,P1 中的第二个 1 将再次与 P2 中的 2 行连接。
第 5 行是 Null。
推荐阅读
- c# - 在 azure web 应用程序中为客户添加自定义域并自动添加让我们加密证书
- amadeus - 如何使用 PNR_AddmultiElements Amadeus 网络服务添加付款方式
- python - 如何设置 pylint 分数阈值?
- mongodb - 猫鼬 - 如何等待保存
- azure - Azure 函数 - 无法加载文件或程序集
- laravel - 我是 laravel 的新手,试图从一个控制器通过 api 将数据存储到多个表中
- c++ - 为什么允许 int 和 const int 的不同转换函数?
- python - 当数据框的列包含多个值时选择数据框的行
- c++ - Overriding virtual method inside another class to access its member in c++
- python - 通过python将Mysql数据发送到电报机器人