INSERT INTO destination_table (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table
WHERE condition;
其中:
- destination_table: 目标表,即数据将要插入的表。
- column1, column2, ...: 目标表中的列,用于指定将要插入数据的列。
- source_table: 源表,即数据的来源。
- condition: 用于筛选源表中数据的条件。
示例:
1. 将一个表中的数据插入到另一个表:
-- 将 "employees" 表中部门编号为 10 的员工数据插入到 "new_employees" 表中
INSERT INTO new_employees (employee_id, employee_name, department_id)
SELECT employee_id, employee_name, department_id
FROM employees
WHERE department_id = 10;
2. 在同一表中进行数据复制或移动:
-- 将 "employees" 表中部门编号为 20 的员工数据复制到相同表中
INSERT INTO employees (employee_id, employee_name, department_id)
SELECT employee_id, employee_name, department_id
FROM employees
WHERE department_id = 20;
INSERT INTO SELECT 语句是一个强大的工具,可以用于实现从一个表到另一个表的数据复制、迁移或筛选。在使用时,请确保目标表的结构与源表的选择列表和数据类型匹配。
转载请注明出处:http://www.zyzy.cn/article/detail/3331/SQL