SQL INSERT INTO SELECT 学习笔记
在 SQL 中,INSERT INTO SELECT
语句用于将一张表中的数据插入到另一张表中。这种语法可以帮助我们快速地复制数据并将其插入到目标表中,同时可以在插入时执行筛选、排序等操作。
语法如下:
sqlCopy CodeINSERT 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
是一个可选的筛选条件
举个例子,现在我们有两张表:employees
和 new_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 中一个非常有用的语法,可以帮助我们快速地复制数据并将其插入到目标表中。它还可以在插入时执行筛选、排序等操作,方便高效。