考虑以下示例:
DECLARE @suppliedNumber MONEY
SET @suppliedNumber = 245656.00
SELECT
ah.FirstName,
ah.LastName
FROM
AccountHolders AS ah
JOIN
[dbo].[Accounts] AS a
ON
ah.Id = a.AccountHolderId
GROUP BY
ah.FirstName, ah.LastName
HAVING SUM(a.Balance) > @suppliedNumber
Run Code Online (Sandbox Code Playgroud)
如您所见,查询中没有任何排序。但是查看执行计划,我看到了隐式排序:
为什么会这样?这背后的技术原因是什么?
我在 Windows NT 6.3 (Build) 上使用 Microsoft SQL Server 2014 (RTM-CU14) (KB3158271) - 12.0.2569.0 (X64) May 27 2016 15:06:08 版权所有 (c) Microsoft Corporation Express Edition(64 位) 14393:)