SQL Server:为什么这些查询返回不同的结果集? [英] SQL Server: Why do these queries return different result sets?
本文介绍了SQL Server:为什么这些查询返回不同的结果集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
查询1 =从ITEMS i中选择前5个i.item_id
Query 1 = select top 5 i.item_id from ITEMS i
查询2 =从ITEMS i中选择前5个i.item_id,i.category_id
Query 2 = select top 5 i.item_id, i.category_id from ITEMS i
即使我删除了前5个子句,它们仍然返回不同的行.
Even if I remove the top 5 clause they still return different rows.
如果我运行从ITEMS i中选择前5个i.*",则会返回完全不同的结果集!!
if I run "select top 5 i.* from ITEMS i" this returns a completely different result set !!
推荐答案
因为如果没有ORDER BY子句,则"TOP N"限定的SELECT的结果不确定.
Because the results of a "TOP N" qualified SELECT are indeterminate if you do not have an ORDER BY clause.
这篇关于SQL Server:为什么这些查询返回不同的结果集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文