sqlserver根据子查询更新语句

语法结构:

update 主表别名 set 主表别名.name=(select 子表别名.name from 子表  子表别名 where 主表别名.id=子表别名.id) from 主表 主表别名

例:

update t set t.name=(select b.name from users b where t.userid=b.userid) from teacher t

原文地址:http://blog.51cto.com/1197822/2156632

时间: 2024-10-08 23:03:40

sqlserver根据子查询更新语句的相关文章

分页用到的子查询sql语句

说明(2017-8-31 23:30:22): 1. 分页用到的子查询sql语句 2. 记住的意思就是背过^_^ 3. 还有一个top语句,查一查

利用带关联子查询Update语句更新数据

Update是T-sql中再简单不过的语句了,update table set column=expression  [where condition],我们都会用到.但update的用法不仅于此,真正在开发的时候,灵活恰当地使用update可以达到事半功倍的效果. 假定有表Table1(a,b,c)和Table2(a,c),现在Table1中有些记录字段c为null,要根据字段a在Table2中查找,取出字段a相等的字段c的值来更新Table1.一种常规的思路,通过游标遍历Table1中字段c

SQLServer(子查询,存储过程,透视,索引)

存储过程: 视图是对一个查询语句的封装,而存储过程:将一段t-sql脚本进行封装,对一段逻辑操作的封装. 创建存储过程: create proc 名称 参数表 as begin end 案例:去左右空格 creat proc trim @str1 varchar(10)asbegin select LTRIM(RTRIM(@str1)) end 在<可编程性>里面有<存储过程>里面有trim这个名 用的时候: exec trim '参数' 案例:编写存储过程,查询表中的总数居,以及

优化子查询sql语句为内连接

背景: 希望提高查询的效率,从sql语句中频繁出现的子查询入手. 数据表如下:Student表中的CityCode对应于City表中的Code. Student表:                      City表: 子查询方式: sql语句如下: 1 select * from Student 2 where CityCode 3 in 4 (select Code from City) 内连接方式:sql语句如下: 1 select a.* from 2 Student a inner

子查询更新操作的坑

子查询我相信大部分人都写过,但是昨天遇到一个比较坑的问题,由于有较好的备份,很短时间就恢复了误操作数据,但是这个问题值得分享.首先建立如下测试表:CREATE TABLE course (student_id INT(11),course VARCHAR(20));INSERT INTO course VALUES ('1', '测试1');INSERT INTO course VALUES ('2', '测试2');INSERT INTO course VALUES ('3', '测试3');

SQLServer —— EXISTS子查询

一.删除数据库 use master go if exists (select * from sysdatabases where name = 'Demo') drop database Demo go 二.删除表 use PhoneList go if exists (select * from sysobjects where name = 'PCategory') drop table PCategory go 三.子查询 有如下一张学员成绩表: 现在,有这么个需求,查询 C# 考试成绩

关联子查询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 AS

子查询更新

select *,(select  content from pointsection0907 where id=p.id)as c from pointsection as pwhere Id in (select  Id from pointsection0907 where id=p.id and content like '%<p>%') and id=7863 --update pointsection set content=(select content from pointse

优化更新语句中的标量子查询

数据库环境:SQL SERVER 2008R2 今天看到开发写的一条更新语句,第一眼是觉得这个SQL的业务有问题,再细看子查询部分,才意识到这是开发人员使的“怪招”. 这个SQL能满足业务的需要,只是开发人员在写这个SQL的时候应该不会考虑到存在性能问题.具体SQL如下: UPDATE fapply_04 SET conf_y_fee_amt = ISNULL(conf_y_fee_amt, 0) + ISNULL(( SELECT SUM(fexp_03.opr_amt) FROM fexp_