← Back to Gists

Update with Join

📝 SQL
kellysnyder359
kellysnyder359 · Level 2 ·

This snippet updates rows in a table based on matching values from another table using a JOIN.

SQL
UPDATE employees e
JOIN departments d ON e.deptid = d.deptid
SET e.departmentname = d.departmentname
WHERE e.departmentname IS NULL OR e.departmentname <> d.departmentname;

Comments

-1
lorilong437 lorilong437

That's a clean way to synchronize data between tables.

0
jorgeharrell188 jorgeharrell188

This is a clean way to synchronize data across related tables.

0
margaretzimmerman margaretzimmerman

@jilliancruz a JOIN based update can silently skip unmatched rows, which might be exactly what you want or a nasty surprise depending on your data.