在 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
语句中指定的列匹配。
通过这种方式,可以方便地从现有表中复制数据到新表或现有表中。