SQL Server:为什么这些查询返回不同的结果集? [英] SQL Server: Why do these queries return different result sets?

查看:112
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆