20、SQL Server 数据修改之Update

来源:互联网 发布:淘宝93sport怎么样 编辑:程序博客网 时间:2024/05/22 03:46

数据修改之Update 

update命令可以更新表中某行的某列,也可以更新表的所有行中的所有列。

同时,通过使用可选的From子句,可以利用SQL Select的全部功能从非常复杂的数据

源获取用于更新的数据。

一、更新单个表

基本语法:

update 表名 set 列1=值1or表达式or列,列2=值2,列3=值3,....

[from data sources] [where conditions]

注:a、一般语法中没有from data sources 

b、没有where子句时,将更新整个表,所以要非常注意。

c、From Data Sources 可获取数据源中的数据用来更新,但只能更新update后面

紧接的表中的数据(可用子查询来代替解决)

d、语法中的  ‘列’,说的是from data sources中的列

下面是一个示例:

雇员要加薪,但加薪的幅度取决于雇员所在的部门,在岗时间,绩效考核等。

如果每个部门的加薪幅度都存储在Department表中,通过联接Employee

和Department表,在结果集中获取部门的加薪系数,可以使用一个update

语句调整所有雇员的薪水。

update Employee set salary=salary*(1+(2+(((Datediff(yy,DateHire,'5/1/2002')*0.1)+Datediff(yy,DatePosition,'5/1/2002')*0.2)++(case when Employee.PerformanceRathy>=2 then Employee.PerformanceRathyelse 0end)*0.5)*Department.RaiseFactor))/100)from Employeeinner join Department on Employee.DeptID=Dept.DeptID

注:选择和数据时,就采用基于数据集而不是数据行的方式。


原创粉丝点击