1. 首先把這種「 update...set...from...join... where...」查詢起個名字叫: 【連線查詢更新】。
2. 有兩種寫法:
一種是(好理解的方式),更新查詢表中的資料,即更新時取查詢表的別名。舉例如下:
begin tran
updatea set a.playername = a.playername + b.guestname
from dbo.t_order a inner join dbo.t_orderdetail b on a.orderno = b.orderno
where a.orderno = '16062902957'
go--rollback tran
commit tran
第二種寫法跟第一種類似,但更接近與傳統的更新語句寫法。 舉例如下:
begin tran
update t_order set playername = o.playername + od.guestname
from t_order o inner join dbo.t_orderdetail od on o.orderno = od.orderno
where o.orderno = '16062902957'
--rollback tran
commit tran
3. 說明:上面兩種寫法中紅色字型的表必須是有關聯的【系統預設是關聯的】。
update set from 語句用法
關鍵字 update set from 下面是這樣乙個例子 兩個表a b,想使b中的memo字段值等於a表中對應id的name值 表a id,name 1 王 2 李 3 張 表b id,clientname 1 2 3 ms sql server 語句 update b set clientnam...
內連線,外連線,左連線,右連線,全連線
連線是指將關聯式資料庫中的兩個表根據內容一定的條件連線成乙個表.內連線是最常用的鏈結,也叫等值鏈結,最常見的格式是 selecta.b.fromta as a tb as b wherea.id b.id 或者 selecta.b.fromtaasainnerjoin tbasb on a.id b...
連線 交叉連線 內連線 外連線 自連線
本文非原創 可分為 交叉連線 內連線 外連線 自連線 1.使用交叉連線 它是非限制連線,就是將兩個 不加任何條件的組合在一起,即第乙個 的所有記錄分別和第二個 的每一條記錄相連線 組合成新的記錄,連線後結果集的行數是兩個 的行數的乘積,列為兩表列之和。語法 1 select 列名列表 from 表名...