mssql sql高效关联子查询的update 批量更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql sql高效关联子查询的update 批量更新相关的知识,希望对你有一定的参考价值。

/* 使用带关联子查询的Update更新     --1.创建测试表    

create TABLE Table1     (     a varchar(10),     b varchar(10),     c varchar(10),     CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED     (     a ASC     )     ) ON [PRIMARY] 

 create TABLE Table2     (     a varchar(10),     c varchar(10),     CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED     (     a ASC     )     ) ON [PRIMARY]     GO    

--2.创建测试数据    

Insert into Table1 values(‘赵‘,‘asds‘,null)    

Insert into Table1 values(‘钱‘,‘asds‘,‘100‘)    

Insert into Table1 values(‘孙‘,‘asds‘,‘80‘)    

Insert into Table1 values(‘李‘,‘asds‘,null) 

Insert into Table2 values(‘赵‘,‘90‘)    

Insert into Table2 values(‘钱‘,‘100‘)    

Insert into Table2 values(‘孙‘,‘80‘)    

Insert into Table2 values(‘李‘,‘95‘)    

GO     select * from Table1 

  --3.通过Update方式更新    

Update Table1 set c = (select c from Table2 where a = Table1.a) where c is null     GO 

 --4.显示更新后的结果    

select * from Table1    

GO    

--5.删除测试表    

drop TABLE Table1    

drop TABLE Table2

以上是关于mssql sql高效关联子查询的update 批量更新的主要内容,如果未能解决你的问题,请参考以下文章

sql主表分页查询关联子表取任意一条高效方案

MSSQL 通过分类树,任意选择分类,查询分类下的所有产品.求高效SQL语句

一文终结SQL 子查询优化

oracle中的update语句能用相关子查询么?

使用来自 SELECT 子查询的值的 UPDATE 查询,高效

关联子查询Update语句