根據 WT_BasicInformation 表的 NO 欄位,批量更新 WT_Task 表的 WtNo 欄位,關聯鍵為 WT_Task.WtId = WT_BasicInformation.ID。
UPDATE A SET WtNo = B.NO FROM WT_Task A INNER JOIN WT_BasicInformation B ON A.WtId = B.ID;
UPDATE A SET A.WtNo = B.NO FROM WT_Task A, WT_BasicInformation B WHERE A.WtId = B.ID;
| 維度 | ANSI JOIN | 舊式語法 |
|---|---|---|
| 可讀性 | 連接條件與篩選條件分離 | 混雜在 WHERE 中 |
| 外部連接 | 支援 LEFT/RIGHT JOIN | 舊式 *= 已棄用 |
| 相容性 | SQL 92 標準,所有現代版本 | 舊版本相容 |
| 效能 | 優化器同等處理 | 優化器同等處理 |
UPDATE T1 SET T1.Col = T3.Val FROM Table1 T1 INNER JOIN Table2 T2 ON T1.Id = T2.T1Id INNER JOIN Table3 T3 ON T2.Id = T3.T2Id WHERE T1.Status = 1;
優先使用 ANSI JOIN UPDATE,語意清晰、支援外部連接、符合現代標準。舊式語法僅用於維護舊系統相容性。