INSERT INTO SELECT 语句用于从一个表中选择数据,并将其插入到另一个表中。它可以用于将一个表中的特定数据复制到另一个表,也可以用于在同一表中进行数据复制或移动。以下是其基本语法:
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