Subqueries in UPDATE, DELETE, and INSERT Statements
Podkwerendy mogą być zagnieżdżane w instrukcjach UPDATE, DELETE, INSERT i SELECT danych manipulacji (DML).
W poniższym przykładzie podwaja się wartość ListPrice kolumna w Production.Product Tabela. podkwerenda w klauzula WHERE odwołuje Purchasing.ProductVendor tabelę, aby ograniczyć wiersze zaktualizowane w Product Tabela do tylko tych, które dostarczane przez VendorID 51.
USE AdventureWorks;
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 2
WHERE ProductID IN
(SELECT ProductID
FROM Purchasing.ProductVendor
WHERE VendorID = 51);
GO
W tym polu jest równoważne instrukcja UPDATE, za pomocą łączyć:
USE AdventureWorks;
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 pv.VendorID = 51;
GO
See Also