我知道 你 不能有 ORDER BY
一个视图。(至少在我使用的 SQL Server 2012 中)
我也明白对视图进行排序的“正确”方法是ORDER BY
在SELECT
查询视图的语句周围放置一个。
但是对于实际的 SQL 和视图的用法相对较新,我想了解为什么这是设计使然。如果我正确地遵循了历史记录,这曾经是可能的,并且已从 SQL Server 2008 等中明确删除(不要引用我的确切版本)。
但是,我能想到的关于 Microsoft 删除此功能的最佳理由是因为“视图是未排序的数据集合”。
我假设有一个很好的、合乎逻辑的理由来解释为什么 View 应该未排序。为什么视图不能只是扁平化的数据集合?为什么特别未排序?想出这样的情况似乎并不难(至少对我/恕我直言)拥有排序视图似乎非常直观。