SQL 查询到 return 来自多个表的所有数据

SQL query to return all data from multiple tables

比如我有2张表,tableAtableB

tableA
id    name    age
1     nameA   10
2     nameB   11

tableB
id    name    age    address
3     nameC   10      test
4     nameD   11      test

当我使用 SELECT * FROM tableA FULL OUTER JOIN tableB ON tableA.id = tableB.id 时,我得到

id    name    age   id    name    age    address
1     nameA   10
2     nameB   11
                    3     nameC   10      test
                    4     nameD   11      test

有没有办法正确合并数据?

像这样:

id    name    age    address
1     nameA   10
2     nameB   11
3     nameC   10      test
4     nameD   11      test

这些表与您尝试加入它们的列 id 无关,因此您需要 UNION ALL:

SELECT *, null address FROM tableA 
UNION ALL 
SELECT * FROM tableB

由于 tableA 只有 3 列,因此向其中添加了第 4 个虚拟 null 列以匹配 tableB 的列数。