SQL Server 視圖定義中直接使用 ORDER BY 會報錯,除非搭配 TOP 子句。
USE pubs;
GO
CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors
ORDER BY au_lname, au_fname;
GO
TOP 100 PERCENT 告訴優化器「需要排序以決定前 100%」,繞過語法檢查,實際執行時仍會依 ORDER BY 排序輸出。
ORDER BY,內層排序不保證保留(需外層再排一次)。