如果我在 SQL Server 2008 R2 中执行以下查询,count(*)
是否只会为 OUTER SELECT 查询确定一次聚合,还是会为 OUTER SELECT 中的每条记录重复一次?
我猜测 SQL Server 会很聪明地看到正在重复相同的计算,因此它只会为了优化目的进行一次计算。TotalCount
对于外部查询中的所有行,下面查询中的值将是相同的。
SELECT
p.ProductId, p.ProductName,
(select count(*) from Products p1) as TotalCount
FROM Products p