updatewhere,updatewhere条件更新

http://www.itjxue.com  2023-01-08 06:23  来源:未知  点击次数: 

SQL语句中关于UPDATE和WHERE的问题。

UPDATE 表A SET B项 = C值

WHERE 表A的Id(表A与表D关联的Id) in

(SELECT 表D的Id(表A与表D关联的Id) FROM 表D WHERE E项=F值)

SQL语句update中的where条件的用法问题

username为字符型,在引用字符型产量时要加单引号.第一条语句改为:

update users set age=10 where username='John';

即可

修改数据 update where里的条件是别的表

1)根据关联子查询,更新字段

Update tab1 t

Set (val1, val2) = (select val1, val2

from tab2

where workdate = t.workdate

and cino = t.cino);

通过tab2来更新tab1的相应字段。执行SQL语句时,系统会从tab1中一行一行读记录,然后再通过关联子查询,找到相应的字段来更新。关联子查询能否通过tab1的条件快速的查找到对应记录,是优化能否实现的必要条件。所以一般都要求在tab2上建有Unique或者排重性较高的Normal索引。执行所用时间大概为(查询tab1中一条记录所用的时间 + 在tab2中查询一条记录所用的时间)* tab1中的记录条数。

2)通过非关联子查询,限定更新范围:

Update /*+ordered use_nl(sys, t)*/ tab1 t

set val1 = 1

where (workdate, cino) in (select workdate, cino from tab2)

其中sys表示系统视图。如果不加入ordered提示,系统将会默认以tab1表作为驱动表,这时就要对tab1作全表扫描。加入提示后,使用系统视图,即select workdate, cino from tab2,作为驱动表,在正常情况下,速度能提高很多。

SQL中修改时使用update...where...那如何修改表中上述where中的数据呢?

一样的用法啊。

这个顺序是先根据where条件找出数据,然后再做更新操作。

所以即使你想更新where条件中用到的字段,也没问题,因为会按照你的最初的where条件把数据查询出来,再进行更新操作。更新之后,你这个where条件就找不到原来的数据了。

SQL语句中关于UPDATE和WHERE的问题:

这句话不可能写成,where后面跟的语句中的表必须与前面的表相关联,如果是“UPDATE 表A SET B项 = C值 WHERE 表A中的E项的值等于F”,则可以写成:UPDATE A SET B = C WHERE E = F ;如果不懂可以追问,希望描述准确点。

update为什么要加where exists

Update 是更新语句,Update 后面指定表名,然后是 Set 关键字

Set 指定要把xx列修改成yy, 多个用逗号分割

Where 是条件语句关键字,可加可不加,指定要修改哪些行,如果不加默认修改全部行

Exists 是否存在,返回布尔值,用于Where 判定。

例: Update [表名] Set [列1] = 1, [列2] = 'sssd' Where [列3] = 4;

(责任编辑:IT教学网)

更多

推荐其它软件文章