dyllove98

数据修改之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.PerformanceRathy

else 0

end

)*0.5)*Department.RaiseFactor))/100)

from Employee

inner join Department on Employee.DeptID=Dept.DeptID

 

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


 

分类:

技术点:

相关文章:

  • 2021-12-10
  • 2021-05-30
  • 2021-08-31
  • 2021-12-26
  • 2021-04-30
  • 2021-10-16
  • 2021-08-27
  • 2021-10-19
猜你喜欢
  • 2021-10-29
  • 2021-11-14
  • 2021-11-18
  • 2021-10-06
  • 2021-10-16
  • 2021-07-29
  • 2021-05-06
相关资源
相似解决方案