我有两张 table 。 (下面给出的是示例表。本来我有6个表)
表cpp;
----------------------
| name | spent1 |
----------------------
|john | 32 |
|Johny | 2 |
----------------------
表java
----------------------
| name | spent2 |
----------------------
|mary | 42 |
|Johny | 2 |
----------------------
输出我想要的样子
---------------------------------
| name | spent1 | spent2 |
---------------------------------
|john | 32 | null |
|Johny | 2 | 2 |
|mary | null | 42 |
---------------------------------
我尝试了很多方法但无法得到答案。有人可以建议我加入 mysql 以获得所需的输出吗?
最佳答案
您可以通过两个查询的联合来实现这一点
select Table1.name as name , Table1.spent as spent1 , Table2.spent as spent2 from Table1
Left JOIN Table2 on Table1.name = Table2.name
union
select Table2.name as name , Table1.spent as spent1 , Table2.spent as spent2 from Table2
Left JOIN Table1 on Table1.name = Table2.name
ORDER BY name
请注意,只需将 UNION 与 ALL 一起指定 - johny 的重复条目就会自动删除。
关于mysql - 使用哪个连接 - mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996876/