INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需 要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入 多行。 基本语法格式如下:
1. insert into ...select ..from..
INSERT INTO 目标表名
(tar_column1 [, tar_column2, …, tar_columnn])
SELECT
(src_column1 [, src_column2, …, src_columnn])
FROM 源表名
[WHERE condition]
- 在 INSERT 语句中加入子查询。
- 不必书写 VALUES 子句。
- 子查询中的值列表应与 INSERT 子句中的列名对应。
举例:
INSERT INTO emp2
SELECT *
FROM employees
WHERE department_id = 90;
或者
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM employees
WHERE job_id LIKE '%REP%';
2. select ..into ...from
试了一下,好像mysql不支持,估计得用Oracle。
语法:文章来源:https://www.toymoban.com/news/detail-619432.html
SELECT *
INTO newtable [IN externaldb] --externaldb外部数据库
FROM table1
实例:文章来源地址https://www.toymoban.com/news/detail-619432.html
SELECT *
INTO book1_copy1
FROM book1
WHERE id > 1;
SELECT *
INTO book1_copy1
FROM book1
> 1327 - Undeclared variable: book1_copy1
> 时间: 0.011s
到了这里,关于sql-从一个或多个表中向一个表中插入 多行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!