SQL 重复数据插入

SQL 重复数据插入,第1张

使用NOT EXISTS:

INSERT INTO TABLE_2

(id, name)

SELECT t1.id,

t1.name

FROM TABLE_1 t1

WHERE NOT EXISTS(SELECT id

FROM TABLE_2 t2

WHERE t2.id = t1.id)

使用NOT IN:

INSERT INTO TABLE_2

(id, name)

SELECT t1.id,

t1.name

FROM TABLE_1 t1

WHERE t1.id NOT IN (SELECT id

FROM TABLE_2)

使用LEFT JOIN/IS NULL:

INSERT INTO TABLE_2

(id, name)

SELECT t1.id,

t1.name

FROM TABLE_1 t1

LEFT JOIN TABLE_2 t2 ON t2.id = t1.id

WHERE t2.id IS NULL

--tb1为测试表,替换为table1

WITH tb1 AS

(SELECT 1 AS u_id,2 AS num

UNION SELECT 2,3

UNION SELECT 3,4)

,tb2 AS 

(SELECT u_id,num-1 AS num FROM tb1

UNION ALL

SELECT u_id,num-1 FROM tb2 WHERE num>0)

--查询插入table2的结果集

SELECT u_id,0 AS sum FROM tb2 ORDER BY u_id,num

t-sql

一次插入多条数据,除了复制其它表外, 只有重复地写insert. 如果有规律可以用WHILE 循环。

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc1')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc2')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc3')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc4')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc5')

insrt into GOODS (GoodsName,Price,AreaId)values('aaa','bbb','ccc6')

.................


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/8025015.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存