SQL INSERT INTO SELECT 学习笔记

在 SQL 中,INSERT INTO SELECT 语句用于将一张表中的数据插入到另一张表中。这种语法可以帮助我们快速地复制数据并将其插入到目标表中,同时可以在插入时执行筛选、排序等操作。

语法如下:

sqlCopy Code
INSERT INTO table_name (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM source_table WHERE condition;

其中:

  • table_name 是目标表名
  • (column1, column2, column3, ...) 是要插入的目标表的列名列表
  • source_table 是源表名
  • (column1, column2, column3, ...) 是要从源表中复制的列名列表
  • condition 是一个可选的筛选条件

举个例子,现在我们有两张表:employeesnew_employees。我们想要把一部分 employees 表中的员工数据拷贝到 new_employees 表中。

我们可以使用以下 SQL 语句来实现:

sqlCopy Code
-- 首先创建 new_employees 表 CREATE TABLE new_employees ( id INT PRIMARY KEY, name VARCHAR(255), age INT, gender VARCHAR(10), salary FLOAT, department VARCHAR(100) ); -- 将 employees 表中年龄小于 30 岁的员工拷贝到 new_employees 表中 INSERT INTO new_employees (id, name, age, gender, salary, department) SELECT id, name, age, gender, salary, department FROM employees WHERE age < 30;

通过上面的语句,我们成功地将 employees 表中年龄小于 30 岁的员工拷贝到了 new_employees 表中。

总结:INSERT INTO SELECT 是 SQL 中一个非常有用的语法,可以帮助我们快速地复制数据并将其插入到目标表中。它还可以在插入时执行筛选、排序等操作,方便高效。