📜  sql 从 select 中插入多行 - SQL (1)

📅  最后修改于: 2023-12-03 14:47:37.187000             🧑  作者: Mango

SQL 如何在 SELECT 语句中插入多行

在 SQL 中,我们可以使用 SELECT 语句来查询数据,但是有时候我们也需要在查询的同时插入多行数据。本文将介绍如何在 SELECT 语句中插入多行数据。

方法一:使用 UNION ALL

使用 UNION ALL 是一种简单有效的方法,它可以将多个 SELECT 语句的结果合并成一个结果集。例如,我们可以这样来插入两行数据:

SELECT 'John', 'Doe', 'johndoe@email.com'
UNION ALL
SELECT 'Jane', 'Smith', 'janesmith@email.com';

以上代码会返回以下结果:

|------|--------|-----------------------|
| John |  Doe   | johndoe@email.com      |
| Jane | Smith  | janesmith@email.com    |
|------|--------|-----------------------|

注意,使用 UNION ALL 时每个 SELECT 语句必须返回相同数量的列。

方法二:使用 INSERT INTO SELECT

使用 INSERT INTO SELECT 是将 SELECT 语句的结果插入到表中的一种方法。例如,我们可以这样来插入两行数据:

INSERT INTO users (first_name, last_name, email)
SELECT 'John', 'Doe', 'johndoe@email.com'
UNION ALL
SELECT 'Jane', 'Smith', 'janesmith@email.com';

以上代码会将两行数据插入到 users 表中。

总结

以上介绍了两种在 SELECT 语句中插入多行数据的方法。使用 UNION ALL 是一种简单有效的方式,但是要注意每个 SELECT 语句返回的列数必须相同。使用 INSERT INTO SELECT 是将 SELECT 语句的结果插入到表中的一种方法。根据场景的不同,选择合适的方法来插入多行数据。