以下写法针对MySQL。

    写子查询也是可以实现的,不过当然应该选择一种更有效率的方式:

update table1 t1 left join table2 t2 on t1.key=t2.key set
    t1.field1=t2.field1,
    t1.field2=t2.field2,
    t1.field3=t2.field3
where t1.field4 is null and t2.field4 > '2017-04-27';

    该方式也比较灵活,ON条件和WHERE条件按需添加。