oracle中 update from inner join 如何实现

2025-01-01 16:22:26
推荐回答(3个)
回答1:

1、oracle自然连接中不需要指定连接条件,它会自动匹配两张表中相同的列。

2、在自然连接中可以指定需要显示的列。

3、在使用自然连接的时候不能为要指定显示的列指定表名或者是表别名。

4、在使用自然连接的时候,如果两张有两个字段相同那同样也会自动匹配。

5、natural join连接与where条件连接的查询方式虽然不一样,但查询结果是一样的。

回答2:

oracle中关联更新不用inner join的方法,而是用另外的方法:

有以下两张表:

根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:

update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2);

更新后,test1表中结果:

回答3:

update t1 set t1.mr_attr=(select t2.mr_attr from t2 where t2.templet_id=t1.templet_id)
where (t1.mr_attr is not null)