Joseph,
Based on the syntax you posted above, I would guess that @Table1 is a table variable: T-SQL allows you to define variables of data type table. These table variables generally behave the same way "real" tables behave. The big exception, of course, is that they exist only in RAM, and once the SQL code stops executing, they evaporate.
I rarely do this; typically, whenever a table variable would useful, I will just create a temporary table instead. I'm not saying my way is better--it's just how I learned how to do things, and I have not yet seen any good reason to break the habit.