在 PostgreSQL 中,如果你想要将两张没有关联关系的表合并成一张新表,你可以使用 UNION 或 UNION ALL 这两种集合操作。假设你有两张表 table1 和 table2,它们具有相同的列结构:
CREATE TABLE new_table AS
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
这里:
UNION
会去除重复行。UNION ALL
则包含所有行,包括重复行。
如果两张表的列结构不同,你需要对列进行适当的匹配或调整,例如:
CREATE TABLE new_table AS
SELECT column1, column2, NULL as column3 FROM table1
UNION ALL
SELECT column1, NULL as column2, column3 FROM table2;
这样做的前提是你知道如何对应地匹配和填充每张表中缺失的列数据。在实际应用中,如果没有关联关系,直接合并可能并不合理,需要根据具体业务需求来设计数据模型和查询方式。