经常遇到要更新一张表,where条件来自另外一张表,直接下面这种写法肯定错的:
update table_a set name='aa' where b_id in (select id from table_b)
又不想先查出来,再一条一条更新,实在有点慢,如何一条语句搞定,可以用下面的写法:
update table_a a,(select id from table_b where name in ('aa')) b set a.name='bb' where a.b_id=b.id and ...也可以加其它条件