sql – 在子查询中允许order by子句

有什么理由为什么或为什么不应该在子查询中做一个“order by”?

解决方法

是的,不应该做,因为它在概念上没有意义.

查询将用于某些外部查询(否则将是无意义的),并且外部查询将不得不进行排序,因此没有任何方式排序子查询.

这是因为sql中的查询结果将不会有特定的顺序,除非您使用明确的ORDER.所以即使在子查询中使用ORDER,也不能保证这将影响外部查询的结果顺序;所以没有意义

当然这可能会因为它的实现而在某些特定的RDBMS上有所作为,但这将是实现特定的,而不是您应该依赖的.

编辑:当然,如果在子查询中使用TOP或LIMIT,则需要使用ORDER.但是这不是标准的sql

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...