注册

oracle中insert into select用法

insert into select 语句用于将一个表中的数据插入到另一个表。它支持插入所有列或特定列,并可以通过 where 子句使用条件进行筛选。通过指定目标表、列列表和源表,可轻松地从一个表将数据转移到另一个表。

Oracle 中的 INSERT INTO SELECT 用法

含义:

INSERT INTO SELECT 语句将一个表中的数据插入到另一个表中。

语法:

INSERT INTO 
SELECT 
FROM 
[WHERE ]

参数:

  • 要插入数据的目标表。
  • 要插入的列,可以指定所有列或特定列。
  • 要从其获取数据的源表。
  • [WHERE ]:可选的条件,用于过滤源表中的数据。

用法:

  1. 插入所有列:

    如果 列列表 中没有指定列,则会插入源表中的所有列。

    INSERT INTO target_table
    SELECT *
    FROM source_table;
  2. 插入特定列:

    如果 列列表 中指定了特定列,则只插入指定的列。

    INSERT INTO target_table (col1, col2)
    SELECT col1, col2
    FROM source_table;
  3. 使用条件:

    WHERE 子句可用于过滤源表中的数据,只插入满足条件的行。

    INSERT INTO target_table
    SELECT *
    FROM source_table
    WHERE column_name > 10;

示例:

假设我们有以下两个表:

source_table:
+----+----------+
| id | name      |
+----+----------+
| 1  | John Doe  |
| 2  | Jane Smith |
| 3  | Mary Jones |
+----+----------+

target_table:
+----+----------+
| id | name      |
+----+----------+
| 4  | Bob Smith  |
| 5  | Sue Brown  |
+----+----------+

要从 source_table 中插入所有行到 target_table 中,我们可以使用以下查询:

INSERT INTO target_table
SELECT *
FROM source_table;

插入后,target_table 将如下所示:

+----+----------+
| id | name      |
+----+----------+
| 4  | Bob Smith  |
| 5  | Sue Brown  |
| 1  | John Doe  |
| 2  | Jane Smith |
| 3  | Mary Jones |
+----+----------+

以上就是oracle中insert into select用法的详细内容,更多请关注CTO智库其它相关文章!