Brugen af ~
foreslår, at du bruger Postgres. Hvis det er tilfældet, gør de to forespørgsler meget forskellige ting. I Postgres inkluderer du ikke tabellen, der opdateres i from
klausul.
Så jeg tror, du vil:
update fromemailaddress
set call = true
from email
where email.fromemailaddress = fromemailaddress.fromemailaddress and
LOWER(email.subject) ~ 'tester';
Din version opdaterer alle rækker i fromemailaddress
fordi der ikke er nogen betingelse, der forbinder fromemailaddress
i update
klausul og fea
i from
klausul.
Bemærk også:left join
er unødvendig, fordi where
klausul gør det alligevel til en indre joinforbindelse.