根据条件用一个表的字段,去更新另一个表的字段

注意ON关联值不能重复。

SELECT A.A1,A.A2,B.B1,B2 FROM TABLEA A
LEFT JOIN TABLEB B
ON A.A1 = B.B1
WHERE A.A2 IS NULL AND B.B2 IS NOT NULL

------------------------------------

MERGE INTO TABLEA A
USING TABLEB  B 
ON (A.A1 = B.B1 ) 
WHEN MATCHED AND A.A2 IS NULL AND B.B2 IS NOT NULL THEN 
UPDATE SET A.A2=B.B2 
--这个比UPDATE的好处就是只全表扫描一次,还可以一次性做多个操作,如UPDATE,INSTER,DELETE
--WHEN NOT MATCHED THEN
--INSERT....

数据量少的情况下,容易理解的

UPDATE A a  SET(A1) = (SELECT b.B1 FROM B b where  a.ID=b.ID)
WHERE EXISTS (SELECT 1 FROM B b WHERE a.ID = b.ID);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值