SQL 將查詢結果插入到另一張表中

2022-03-13 00:19:42 字數 1496 閱讀 8572

(1)如果兩張表(匯出表和目標表)的字段一致,並且希望插入全部資料,可以用這種方法:

insert

into 目標表 select

*from **表 where 條件;

例如,要將 test 表插入到 newtest 表中,則可以通過如下sql語句實現:

insert

into newtest select

*from test;

(2)如果只希望匯入指定字段,可以用這種方法:

insert

into 目標表(欄位1, 欄位2, ...)select 欄位1, 欄位2, ... from **表 where 條件;

請注意以上兩表的字段必須一致(位置一致,型別一致),否則會出現資料轉換錯誤。

例如我需要把商品表 commodity 中符合條件(狀態為0,並且**大於500的商品id)的資料插入到商品標籤表 commoditytag 中:

insert

into

commoditytag(tagid, commodityid, status, createtime, updatetime)

select

'tg191219290000000

', commodityid, 0, now(), now() from commodity where commoditystatus =

0and price >

500;

select into 語句從乙個表中選取資料,然後把資料插入另乙個表中。常用於建立表的備份復件或者用於對記錄進行存檔。

(1)兩張表字段完全一致,全部字段資料進行拷貝。

select

*into persons_backup from persons where city=

'beijing

';

(2)拷貝指定字段。

select lastname, firstname into persons_backup from

persons

where city=

'beijing

';

(3)in 子句可用於向另乙個資料庫 backup.mdb 中拷貝表。

select

*into persons in

'backup.mdb

'from persons where city=

'beijing

';

(4)多個表關聯選取資料。

select p.lastname,o.orderno into

persons_order_backup

from persons p inner

join

orders o

on p.id_p=o.id_p;

SQL 將查詢結果插入到另一張表中

1 如果兩張表 匯出表和目標表 的字段一致,並且希望插入全部資料,可以用這種方法 insert into 目標表 select from 表 where 條件 例如,要將 test 表插入到 newtest 表中,則可以通過如下sql語句實現 insert into newtest select f...

將一張表的查詢結果插入到另一張表

select into 和 insert into select 兩種表複製語句 2select into desttbl from srctbl34 insert into desttbl fld1,fld2 select fld1,5 from srctbl56 以上兩句都是將 srctbl 的...

Oracle中把一張表查詢結果插入到另一張表中

oracle中把一張表查詢結果插入到另一張表中 一 oracle資料庫中,把一張表的查詢結果直接生成並匯入一張新錶中。例如 現有只有a表,查詢a表,並且把結果匯入b表中。使用如下sql語句 sql create table b as select from a 二 oracle資料庫中支援把查詢結果...