El uso de ~
sugiere que está utilizando Postgres. Si es así, las dos consultas están haciendo cosas muy diferentes. En Postgres, no incluye la tabla que se actualiza en from
cláusula.
Entonces, creo que quieres:
update fromemailaddress
set call = true
from email
where email.fromemailaddress = fromemailaddress.fromemailaddress and
LOWER(email.subject) ~ 'tester';
Su versión está actualizando todas las filas en fromemailaddress
porque no hay ninguna condición para conectar fromemailaddress
en la update
cláusula y fea
en el from
cláusula.
También tenga en cuenta:la left join
es innecesario porque el where
la cláusula lo convierte en una unión interna de todos modos.