4.8 在表中编辑记录

问题
要修改表中某些(或全部)行的值。例如,可能想要将部门20中所有员工的工资增加10%,下面的结果集显示了该部门员工的deptno ename 和sal字段

select deptno,ename,loc
    from emp
        where deptno = 20
        order by 1,3 

要将所有的sal字段值增加10%

解决方案:

使用update语句来修改数据库表中已有行。例如:

update emp
    set sal  = sal*1.10
where deptno = 20 

讨论:
当准备要对大量的数据进行更新时,用户可能需要先预览一下结果,此时可以使用一个seslect语句,该语句中包含想要放到set子句中的表达式。下面的select语句显示了工资增加10%后的结果:

select deptno,
    ename,
    sal as orig_sal,
    sal*.10 as amt_to_add,
    sal*1.10 as new_sal
from emp
where deptno =20
order by 1,5

增加的工资被分为两列:一列是显示与原工资的差额,而另一列显示增加后的工资。

原文地址:https://www.cnblogs.com/liang545621/p/7518753.html