在MySQL中,INSERT SELECT语句用于将数据从一个表插入到另一个表中。
语法如下:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
其中,table2是要插入数据的目标表,table1是要从中选择数据的源表。column1、column2、column3等是目标表的列名,必须与源表的列名对应。condition是可选的,用于选择要插入的数据行。
以下是一个示例:
假设我们有两个表:employees和new_employees。我们希望将employees表中薪水大于5000的员工插入到new_employees表中。
INSERT INTO new_employees (first_name, last_name, salary)
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 5000;
在这个示例中,我们将employees表中的first_name、last_name和salary列的值插入到new_employees表中的对应列中,只选择薪水大于5000的员工。
注意:在执行INSERT SELECT语句之前,确保目标表的列和源表的列匹配,并且具有相同的数据类型。