Both SET and SELECT can be used to assign values to variables. It is recommended that SET @local_variable be used for variable assignment rather than SELECT @local_variable.
Examples
declare @i int
set @i=1
This is used to assign constant values.
select @i=max(column_name)from table_name
for ex.
select @i=max(emp_id) from table_emp.