update tab1 set from tab1, tab2 where а) Какая связь во втором запросе между 2 упоминаниями tab1 ?
Ниже напишу
б) Невозможно назначить алиас обновляемой таблице и в where приходится упоминать её имя целиком.
Это у MSSQL такая болячка не только здесь. У него в обычных UPDATE и DELETE алиася назначить нельзя :-/
в) что будет, если обновляемой строке соответвует более одной строки из других таблиц ?
Признаться честно, я доки не читал по этой команде. Но использую я её по следующему алгоритму: я представляю что FROM разворачивается в цикл типа FOR SELECT. Потом MSSQL делает проход по этому циклу и смотрит а есть ли в выборке запись, соответствующая таблице в UPDATE и если есть, она присваивает эначениям полей этой записи то что надо. Как-то мне всё понятно было всегда. Я ней реально пользуюсь гораздо чаще чем обычным апдейтом...

