oracle中insert into select用法-Oracle
Oracle 中的 INSERT INTO SELECT 用法
含义:
INSERT INTO SELECT 语句将一个表中的数据插入到另一个表中。
语法:
INSERT INTO SELECT FROM [WHERE ]
登录后复制
参数:
- :要插入数据的目标表。
- :要插入的列,可以指定所有列或特定列。
- :要从其获取数据的源表。
- [WHERE ]:可选的条件,用于过滤源表中的数据。
用法:
-
插入所有列:
如果 列列表 中没有指定列,则会插入源表中的所有列。
INSERT INTO target_table SELECT * FROM source_table;
登录后复制登录后复制 -
插入特定列:
如果 列列表 中指定了特定列,则只插入指定的列。
INSERT INTO target_table (col1, col2) SELECT col1, col2 FROM source_table;
登录后复制 -
使用条件:
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 | +----+----------+
登录后复制