在视图中使用ORDER BY子句_MySQL
程序员文章站
2022-04-13 20:42:53
...
问:为什么SQL Server不允许在视图定义使用ORDER BY子句?
答: SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。但是,如果你需要在视图中指定ORDER BY子句,可以考虑使用以下方法:
USE pubs
GO
CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors
ORDER BY au_lname, au_fname
GO
Microsoft在SQL Server 7.0中引入的TOP结构在同ORDER BY子句结合使用时是非常有用的。只有在同TOP关键词结合使用时,SQL Server才支持在视图中使用ORDER BY子句。
注意:TOP关键词是SQL Server对ANSI SQL-92标准的扩展。
推荐阅读
-
mysql unique key在查询中的使用与相关问题
-
使用distinct在mysql中查询多条不重复记录值的解决办法
-
web.py在SAE中的Session问题解决方法(使用mysql存储)
-
在MySQL中自定义参数的使用详解
-
MySQL中的视图使用详解
-
MySQL中ORDER BY与LIMIT一起使用(有坑)
-
ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效怎么解决?
-
Mysql数据库中的 Order by 语句的特殊之处(select 中的项目不必出现在order by中)---不建议使用!
-
mysql 使用group by报错 sql_mode=only_full_group_by 在navicat中修改session 中的sql_mode
-
深入理解r2dbc在mysql中的使用