在 SQL 中,可以使用 INSERT INTO ... SELECT 语句从另一个表复制行并将数据插入到目标表。

语法:

INSERT INTO 目标表名 (列1, 列2, ...) 
SELECT 列1, 列2, ... 
FROM 源表名
WHERE 条件;

示例:

假设我们有一个名为 emp 的员工表,需要将所有经理的信息复制到名为 managers 的表中:

INSERT INTO managers (id, name, salary, hiredate)
SELECT tempno, ename, sal, hiredate
FROM emp
WHERE job = 'MANAGER';

要点:

  • INSERT INTO 语句指定要插入数据的目标表和列。
  • SELECT 语句从源表中检索要复制的数据。
  • WHERE 子句用于指定要复制哪些行,可以省略,表示复制所有行。
  • 确保 SELECT 语句返回的列数和数据类型与 INSERT INTO 语句中指定的列匹配。

通过这种方式,可以方便地从现有表中复制数据到新表或现有表中。