Update From 用法

今天遇到用一个表的字段填充另一个表的问题,整理了一下
 

1、在mysql中,应该使用inner join,即:

 

UPDATE   a

INNER JOIN b

ON a.userName = b.userName

SET a.password = b.password

 

 

2、在sqlserver中,应该使用update   set  from 即:

 

 
  
UPDATE a

SET userName = b.userName

FROM a, b

WHERE a.userId = b.userId



3、在 oracle 中不存在 update from 结构, 所以遇到需要从另外一 个表来更新本表的值的问题的时候,

有两种解决的办法 :  

一种是使用子查询: 使用子查询时一定要注意where  条件 ( 一 般后面接 exists 子句 ) , 除非两个表是一一对应的,  

否则 where 条件必不可少,遗漏掉 where 条件时可能会导致插入大量空 值。  

另外一种是类视图的更新方法:这也是 oracle 所独有的。先 把对应的数据全部抽取出来,然后更新表一样更新数据,

这 里需要注意的是,必须保证表的数据唯一型。


注意:
Oracle中是不支持update:From这样的句子的,MySql和SqlServer是支持的但也有区别。

转载于:https://www.cnblogs.com/wuxiang/p/3701586.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值