UPDATE, DELETE 및 INSERT 문의 하위 쿼리
UPDATE, DELETE, INSERT 및 SELECT DML(데이터 조작 언어) 문에 하위 쿼리가 중첩될 수 있습니다.
다음 예에서는 Production.Product 테이블의 ListPrice 열 값을 두 배로 만듭니다. WHERE 절의 하위 쿼리는 Product 테이블에서 업데이트되는 행을 BusinessEntity 1540이 제공하는 행으로만 제한하여 Purchasing.ProductVendor 테이블을 참조합니다.
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