UPDATE、DELETE 與 INSERT 陳述式中的子查詢
子查詢可以巢狀於 UPDATE、DELETE、INSERT 和 SELECT 資料管理 (DML) 陳述式中。
下列範例將 Production.Product 資料表 ListPrice 資料行的值加倍。WHERE 子句中的子查詢參考 Purchasing.ProductVendor 資料表,將 Product 資料表中更新的資料列限制為僅由 BusinessEntity 1540 所供應的資料列。
USE AdventureWorks2008R2;
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 2
WHERE ProductID IN
(SELECT ProductID
FROM Purchasing.ProductVendor
WHERE BusinessEntityID = 1540);
GO
下列為使用聯結的相等 UPDATE 陳述式:
USE AdventureWorks2008R2;
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 2
FROM Production.Product AS p
INNER JOIN Purchasing.ProductVendor AS pv
ON p.ProductID = pv.ProductID AND BusinessEntityID = 1540;
GO