Здравствуйте, Аноним, Вы писали:
А>select может дополнительно извлекать значения из таблиц (ежели укажешь from), а set — нет
Нифига подобного. Вот такая конструкция вполне допустима
DECLARE @a as int
SET @a = SELECT top 1 ID FROM table ORDER BY desc
Просто SET обладает большей функциональностью.
При присвоении в SELECT-е переменная должна иметь тип, допустимый в таблице. А SET позволяет задать любой допустимый в системе тип.
По-моему так.