If you are using SQL 2008 you may want to look at the new Merge command.
MS Link:- http://technet.microsoft.com/en-us/library/bb510625.aspx
As per their site (technet.microsoft.com):-
Performs insert, update, or delete operations on a target table based on the results of a join with a source table. For example, you can synchronize two tables by inserting, updating, or deleting rows in one table based on differences found in the other table.
Hope that helps...though the other answers are also very good. :)