关于两个表更新数据的问题(update)

转载 2015年11月20日 13:22:38

我现在有两张表.A与B
A的字段有id,name,pwd...
B的字段有userid,password
现在我想把A中pwd更新成B中的password(A中的id与B中的userid都是相对应于学生的ID),SQL语句应该怎么写呢??


update A
     set pwd = (select password from B where userid = A.id);

 


这样写逻辑有问题的,, 如果对应的记录在B表中不存在,,会被更新成null的..

1. update A set pwd = (select password from B where userid = A.id);
    where id in (select userid from B);

2. 如果B表的userid为主键的话,,可以使用关联更新..

update (
  select a.pwd pwd,b.password
  from A,B
  where a.id = b.userid
)
set pwd = password;

sql语句中not in和exists 的用法以及更新两个表数据的插入实例

exists 与 in 最大的区别在于 in引导的子句只能返回一个字段,exists : 强调的是是否返回结果集,不要求知道返回什么,...
  • dxnn520
  • dxnn520
  • 2016年10月29日 14:37
  • 1586

两个关联表如何更新其中一个表的数据?

两个关联表如何更新其中一个表的数据? 今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表...
  • chajinglong
  • chajinglong
  • 2015年12月11日 14:38
  • 751

【Oracle批量更新】根据一个大表批量更新另一大表的方法比较

【问题】现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表),T_SMS_PHONENO2(源表),根据源表数据更新目的表的数据。【分析】根据经验,更新方法一般有以下几种:1...
  • onemetre
  • onemetre
  • 2011年06月03日 19:03
  • 7043

SQL——两个表之间的更新:用一个表的字段更新另一个表的字段

--1. 这种写法相当于一个 Left join, 以外面的where为更新条数。 -- 注意! 如果内面的表的(where之后取得的)条数比外面表的(where之后取得的)条数少, 会造成 不...
  • yenange
  • yenange
  • 2012年01月19日 12:35
  • 15905

连接实现多表更新与查询

子查询(二):分析: 简单查看表中的内容,可以看到有很多重复的数据。例如goods_cate字段中光’笔记本配件’就重复了好几次,而一般情况下汉字所占的字节数比数字占的字节数多(GBK 编码中,一个汉...
  • qq_33290787
  • qq_33290787
  • 2016年07月10日 20:07
  • 1039

MYSQL 第五章 子查询,多表更新,外连接,左连接,右连接,内连接,多表连接,无限级分类表设计,多表删除

5-1数据准备 记录操作 INSERT UPDATE DELETE (前三个为记录的增删改划分为一类,称为记录的写操作)SELECT(记录的读取操作) SET NAMES gbk; 子查询  连接 ...
  • wangyang55555
  • wangyang55555
  • 2014年11月18日 15:44
  • 1015

HIVE中数据更新(update)操作的实现

数据更新是一种常见的操作,然后数据仓库的概念一般要求的是数据是集成、稳定的。HIVE作为一种分布式环境下以HDFS为支撑的数据仓库,它同样更多的要求数据是不可变的。 然而现实很多任务中,往往需要...
  • sparkexpert
  • sparkexpert
  • 2015年12月30日 09:19
  • 11194

Update 两个表之间数据更新

两个表之间有相同的属性,如何将a表中的属性更新为b表中属性的值?这里有一篇博文有这么一个问题,可以参照这个方法解决。也就是:Update 要更新表 Set 要更新字段 = 新值 From 多个表 Wh...
  • iamyina
  • iamyina
  • 2009年05月19日 18:16
  • 5850

SQL UPDATE 更新数据用法之多表查询

数据表2张,如:表A,表B 现在要求:更新A表的字段,但这些表是从B表来的,且A和B并没有什么关系等。 实现方式:采用update a set from b方式实现,A表和B表的字段很多,采用@变...
  • zhongxinhua0123
  • zhongxinhua0123
  • 2017年02月22日 15:17
  • 694

优化update-虚拟表

优化update-虚拟表
  • cxx504659987
  • cxx504659987
  • 2015年04月02日 11:33
  • 638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于两个表更新数据的问题(update)
举报原因:
原因补充:

(最多只允许输入30个字)