我有两个表:
---------
|dogs |
---------
|item_1 |
| |
| |
| |
---------
---------
|cats |
---------
|item_1 |
|item_2 |
|item_3 |
|item_4 |
---------
所以我想加入这样的表:
------------------
|dogs | cats |
------------------
|item_1 | item1 |
|NULL | item2 |
|NULL | item3 |
|NULL | item4 |
------------------
我在第二个表中使用了一个条件,但如果没有找到任何内容,我仍然想从第一个表中获取单个结果,如下所示:
------------------
|dogs | cats |
------------------
|item_1 | NULL |
------------------
这些表没有 ID 字段,但我也可以添加 ID 来在项目之间建立关系。
我已经尝试了不同的解决方案,但是如果使用条件时在第二个表中找不到任何内容(我得到 0 行),或者我在中重复了 item1,则我无法保留第一个表中的单个结果当我真正需要 Null 时的第一个表。
最佳答案
select *
from dogs left outer join cats
这将为您提供所有狗和任何匹配的猫。这意味着 Cat 列可以为空,但狗列不能为空。这是您要找的吗?
关于mysql - MySQL 中连接两个行数不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268733/