1.準(zhǔn)備
2.直接更新
2.1 SQL
update a1 set (name,age) = (select name,age from b1 where a1.ID = b1.ID)
2.2 結(jié)果
2.3 總結(jié)
根據(jù)執(zhí)行結(jié)果可以看到a1表里面有的而b1表里面沒有的直接更新為null原因
在更新的時(shí)候沒有加更新的范圍
3.修改更新
3.1SQL
update a1 set (name,age) = (select name,age from b1 where a1.ID = b1.ID)
where exists (select 1 from b1 where a1.ID = b1.ID)
3.2結(jié)果
3.3總結(jié)
更新增加了更新的條件,那就是a1和b1都有相同的id那么就有select 1,那么exists就會(huì)返回true;最后進(jìn)行更新操作
exists的作用是檢查子查詢的結(jié)果是否為真,如果子查詢?yōu)閠rue則執(zhí)行外面的SQL語(yǔ)句。 exists不返回?cái)?shù)據(jù)只返回true 或false文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-603530.html
4.總結(jié)
如果需要同時(shí)更新多個(gè)字段,如下所示:
UPDATE 表1 t1
SET (字段一,字段二,…) = (select 字段一,字段二,… from 表2 t2 where t2.關(guān)聯(lián)字段 = t1.關(guān)聯(lián)字段 and 其他條件)
WHERE EXISTS(SELECT 1 FROM 表2 t2 WHERE t2.關(guān)聯(lián)字段 = t1.關(guān)聯(lián)字段 and 其他條件);文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-603530.html
到了這里,關(guān)于【Oracle數(shù)據(jù)庫(kù)】?jī)蓚€(gè)表關(guān)聯(lián)更新的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!