update a set b.prov=a.prov,b.city=a.city
from a,b
where exists (select 1 from b where b.mobile like a.area%)
and b.mobile like a.area%我写的,大家看一下,我写的执行不成,对错不知道不说,还慢死了。大家给我指导一下。谢谢了。
from a,b
where exists (select 1 from b where b.mobile like a.area%)
and b.mobile like a.area%我写的,大家看一下,我写的执行不成,对错不知道不说,还慢死了。大家给我指导一下。谢谢了。
这样也对是吧,因为默认是内联连?
update b set b.prov=a.prov,b.city=a.city from a inner join b on a.area like b.mobile+'%'因为我在b.mobile建了索引,这样好像可以加快查找速度。没错吧。
、(b.mobile,7)=a.area 和 a.area like b.mobile+'%' 都是可以的,其中的速度只有自己体会
因为我这里没有很多数据所以也体会不到,你应该都试一试,择优而行
还是要编译很多次呢。
set b.prov=a.prov,
b.city=a.city
from a,b
where left(b.mobile,7)=a.area
左联得到左表中行所有的结果,如右表没有该行时给null
右联得到右表中行所有的结果,如左表没有该行时给null
像这种是不可优化的sql语句,检索时利用不上索引。