如果我已經定義在SQL Server這樣的觀點:SQL Server視圖表演
CREATE View V1
AS
SELECT *
FROM t1
INNER JOIN t2 ON t1.f1 = t2.f2
ORDER BY t1.f1
我應該期待
SELECT * FROM V1 WHERE V1.f1 = 100
,只是避免視圖之間的性能差異,這樣
SELECT *
FROM t1
INNER JOIN t2 ON t1.f1 = t2.f2
WHERE t1.f1 = 100
ORDER BY t1.f1
?
除了需要集中複雜查詢之外,我們沒有任何理由使用視圖。
謝謝
視圖內的ORDER BY'不起作用。有一些雜質(<2005你可以指定'TOP 100 PERCENT'),但隨着優化器的改進,它變得毫無意義。如果您需要特定訂單,則必須在最外面的查詢中指定它。 – 2011-01-05 11:49:45
使用where子句WHERE t1.f1 = 100後,使用t1.f1的順序沒有任何意義。即使結果集包含多行,那麼此順序也不做任何操作 – 2011-01-05 13:10:38