Another issue with select * is that if you have identity keys and the tables are independently generated (as in deve and staging) and an identical data entry has separate "identities" on the different boxes select * will always return all the rows.
Instead of the Union I usually just
select * from A
except
select * from B
select * from B
except
select * from A
then you can it is easier to know where the "differences" originate.
<><
Livin' down on the cube farm. Left, left, then a right.