Sql-Server
將 3 個表中的數據複製到一個空表中的單個查詢
在今天的一次採訪中,有人問我是否可以編寫一個查詢來將數據從 3 個源表複製到一個空的目標表。
我開始說“我將使用臨時表或表變數”,但面試官說“不,我想查看單個語句或查詢”。
我是空白的:(
有人可以分享正確的答案嗎?
第一步:首先根據需求通過sql查詢準備數據集。
步驟 2:將準備好的記錄集插入到新表中。
**注意:**所有表的選擇列表 中
'Union All'
的列數必須相同。**注意:**您可以根據
JOIN
業務需求通過連接準備來自不同表的數據並插入到新表中。例如:
select * into newtable from ( select * from table1 union all select * from table2 union all select * from table3 ) A
您可以通過修改公用表表達式的數據來做到這一點。
https://www.postgresql.org/docs/9.1/queries-with.html
它將作為單個查詢執行,其中包含來自不同來源的同一張表的多次插入。
with ins1 as ( insert into dest(id, name) select id, name from source1 ) ,ins2 as ( insert into dest(id, name) select id, name from source2 ) ,ins3 as ( insert into dest(id, name) select id, name from source3 ) select l;