SQL Insert Into Select

通過前面的學習,我們已經知道如何向表中插入單行或單個數據,但是如果要在表中插入多行。 除INSERT INTO外,還將Insertselect語句結合使用。

在此命令中,假設一個表需要使用另一個表中的數據信息來插入。

下面來看看sql insertselect語法:

INSERT INTO "table 1" ("column1", "column2",....)  
SELECT "column3", "column4",....  
FROM "table2";

INSERT INTO語句還可以包含許多子句,如:SELECTGROUP BYHAVING以及JOINALIAS。 因此,insert into select語句可能會有些複雜。

示例

假設在數據庫中有一個名爲sales_data的表,而表store_information包含每天從商店銷售的數據記錄。 如果要將數據從sales_data移動到store_information怎麼做?

應該使用以下語法:

INSERT INTO store (store_name, sales, transaction_date)  
SELECT store_name, sum (sales), transaction_date  
FROM sales_information  
GROUP BY store_name, transaction_date;

注:sales_datastore_information表的結構相同。