如果我已经定义在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