The UPDATE...JOIN construct can yield unexpected results. Usually a safer way to handle these tasks is using the MERGE statement because it protects you from updating the same row multiple times.
MERGE (Transact-SQL) - SQL 2014
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato