You can also use the FROM in SELECT, INSERTS, DELETE statements, because it is just another way to join tables.
So the (corrected) example code
update
a1
set
col = a2.col
from
table1 as a1,
table2 as a2
where
a1.col = a2.col
will execute the same operation as
update
a1
set
col = a2.col
from
table1 as a1
inner join table2 as a2
on a1.col = a2.col
When running operations with a big amount of rows, the second should have the better performance.
[EDIT]
This is because statement no.1 will first select all rows on both tables and then matches them with the where-clause. Statement no.2 will first match the tables with the join-clause and then select the matching rows. The performance will increase when the clause uses an index (i.e. primary key).
[/EDIT]