temp table-------------LARGE AMOUNT OF DATA table variable--------------SMALL AMOUNT OF DATA create table #test ( a int, b varchar(10) ) alter table #test add c int ====================================================== TABLE VARIABLE: ================= THE TABLE VARIABLE IS A SPECIAL TYPE OF THE LOCAL VARIABLE WHICH HELPS TO STORE THE DATA TEMPORARILY SIMILAR TO TEMP TABLES IN SQL SERVER. DECLARE @TABLE_VAR TABLE ( COL1 DATA TYPE, COL2 DATA TYPE.... ) => WE CAN INSERT, UPDATE, DELETE DATA INSIDE TABLE VARIABLE. => ALTER, TRUNCATE DOES NOT WORK ON TABLE VARIABLE BUT THEY WORK ON TEMP TABLES => UNLIKE TEMP TABLES THE TABLE VARIABLE IS ACCESIBLE WITH IN THE CURRENT BATCH,,,,,,,,,,,,,,,,,,,, =>TABLE VARIABLES ARE USEFUL WHEN DEALING SMALL AMOUNTS OF DATA OTHERWISE SQL SERVER TEMP TABLE IS USEFUL WHEN DEALING WITH LARGE AMOUNT OF DATA DECLARE @T TABLE ( ENO INT, ENAME VARCHAR(20), DPT INT ) INSERT INTO @T SELECT EMPNO, ENAME, DEPT FROM EMP1 WHERE DEPT = 30 SELECT * FROM @T go SELECT * FROM @T ================================================================================