MySQL 关键字

MySQL INSERT INTO SELECT 关键字用于使用另一个表填充一个表。请注意,另一个表应该具有填充第一个表所需的字段集。

语法

在 MySQL 中使用 INSERT INTO SELECT 关键字的语法如下所示:

INSERT INTO table1 [(column1, column2, ...)] 
SELECT column1, column2, ...  FROM table2
[WHERE condition]; 

示例:

考虑一个数据库,其中包含名为 Employee 和 HREmployee 的表,并具有以下记录:

表 1:Employee 表

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

表 2:HREmployee 表

HREmployee 表不包含任何记录,并具有以下字段 - HRID、Name和 Address .

HREmployee 表的给定字段可以通过使用以下查询来使用 Employee 表填充:

INSERT INTO HREmployee (HRID, Name, Address)
SELECT EmpID, Name, City FROM Employee
WHERE EmpID IN (1, 4, 5);

-- 查看结果
SELECT * from HREmployee 

现在HREmployee表将包含以下记录:

HRIDNameAddress
1JohnLondon
4KimAmsterdam
5RameshNew Delhi