Поделиться через


Вложенные запросы, используемые вместо выражения

В языке Transact-SQL вложенный запрос может быть заменен в любом месте, где выражение может использоваться в инструкции SELECT, UPDATE, INSERT и DELETE, за исключением списка ORDER BY.

Следующий пример показывает, как можно использовать это улучшение. Запрос находит цены на все горные велосипеды, их среднюю цену и разницу между средней ценой и ценой каждого горного велосипеда.

USE AdventureWorks2008R2;
GO
SELECT Name, ListPrice, 
(SELECT AVG(ListPrice) FROM Production.Product) AS Average, 
    ListPrice - (SELECT AVG(ListPrice) FROM Production.Product)
    AS Difference
FROM Production.Product
WHERE ProductSubcategoryID = 1;

См. также

Основные понятия