【问题标题】:SQL query to return all data from multiple tablesSQL查询返回多个表中的所有数据
【发布时间】:2020-05-07 09:16:59
【问题描述】:

例如,我有 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

【问题讨论】:

    标签: mysql select multiple-tables


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2018-07-26
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多