1. 程式人生 > >基於連線和子查詢的update語句

基於連線和子查詢的update語句

1: 效率高, 連線,update 後跟別名

update a
set a.Field1= b.Field1
from Table1 a
left join Table2 b on a.SID=b.ID
where b.Code like 'm%'

效率高

2: 子查詢,update後跟表名

update Table1

set Field1=
(
select Field1 from Table2
where Table2.SID=Table1.ID
)

where exists
(
select *
from Table2 b
where b.ID=Table1.ResourceID and b.Code not like 'm%'
)
效率低,因為每個子查詢都要訪問Table2