• 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]