For the longest time, my approach to update/insert logic has been the following:
IF EXISTS(SELECT...) BEGIN
So courtesy of .NET Kicks this gem was very informative which is the same logic but with a cleaner approach. Instead of selecting records first, you attempt to do an update and check afterwards if the @@rowcount is greater than zero - if not the record doesn't exist so you can move logically to an insert.
IF @@rowcount = 0 BEGIN
Nifty, very nifty.