在 PostgreSQL 中,可以使用 CREATE TABLE AS
語句將兩張表合并生成新表。
例如,假設(shè)有兩張表 table1
和 table2
,它們具有相同的列名和數(shù)據(jù)類型,你可以使用以下語法將它們合并生成新表:
CREATE TABLE new_table AS
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
上述語句中,UNION ALL
關(guān)鍵字用于將兩個(gè) SELECT 語句的結(jié)果合并到新表中。如果你想去除重復(fù)的行,可以使用 UNION
關(guān)鍵字代替 UNION ALL
,它會(huì)自動(dòng)刪除重復(fù)的行。
另外,如果兩張表的列名或數(shù)據(jù)類型不完全一致,你可以在 SELECT
語句中指定需要的列,并使用相應(yīng)的轉(zhuǎn)換函數(shù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。
注意:在執(zhí)行合并操作之前,確保新表的結(jié)構(gòu)與源表相匹配,否則可能會(huì)出現(xiàn)錯(cuò)誤。