sql-从一个或多个表中向一个表中插入 多行

INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需 要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入 多行。 基本语法格式如下:

sql 复制代码
INSERT INTO 目标表名
(tar_column1 [, tar_column2, ..., tar_columnn])
SELECT
(src_column1 [, src_column2, ..., src_columnn])
FROM 源表名
[WHERE condition]
  • 在 INSERT 语句中加入子查询。
  • 不必书写 VALUES 子句。
  • 子查询中的值列表应与 INSERT 子句中的列名对应。

举例:

  1. 更新数据 使用 UPDATE 语句更新数据。

语法如下:

sql 复制代码
INSERT INTO emp2
SELECT *
FROM employees
WHERE department_id = 90;

或者

sql 复制代码
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM employees
WHERE job_id LIKE '%REP%';
相关推荐
qqxhb9 分钟前
系统架构设计师备考第61天——嵌入式系统架构模式&操作系统&数据库&中间件
数据库·中间件·系统架构·sqlite·dds·层次化(封闭/开放)·递归模式
SelectDB21 分钟前
Apache Doris 数据导入原理与性能优化 | Deep Dive
运维·数据库·数据分析
悟能不能悟1 小时前
在service方法中已经catch异常,Transactional失效怎么办
java·数据库·sql
月夜奇术师1 小时前
SQL查询性能优化:从30分钟到30秒的蜕变——破解串行查询瓶颈
数据库·性能优化
0wioiw01 小时前
Ubuntu(④Mysql)
linux·mysql·ubuntu
zimoyin2 小时前
解决导入的数据库中因为 sql_mode 不同 视图无法打开问题
数据库·sql
程序边界2 小时前
MySQL至KingbaseES迁移最佳实践(上篇):迁移准备与实施规划
数据库·mysql
IvorySQL2 小时前
Oracle 19c数据库迁移到IvorySQL 4.6实战
数据库
kanimito2 小时前
开始改变第六天 MySQL(2)
数据库·mysql
码界奇点2 小时前
Java 开发日记MySQL 与 Redis 双写一致性策略挑战与实战解析
java·redis·sql·mysql·java-ee