SQLSERVER的排序問題結(jié)果不是想要的
更新時(shí)間:2013年03月11日 17:27:53 作者:
同一個(gè)查詢的結(jié)果集為什麼有時(shí)候是按他想要的順序排列,有時(shí)候又不是,接下來將為你詳細(xì)解答,感興趣的你可以參考下哈,希望對(duì)你有所幫助
在論壇里經(jīng)常有人問這樣的問題:
同一個(gè)查詢的結(jié)果集為什麼有時(shí)候是按他想要的順序排列,有時(shí)候又不是,或者是在SQL2000里是這個(gè)順序,到了SQL2005/2008又是那個(gè)順序?
其實(shí),只要語(yǔ)句里沒有指定“order by”,SQLSERVER并不會(huì)按照順序返回的。有可能你的表里有一個(gè)字段已經(jīng)建立了索引
你想結(jié)果集按照那個(gè)建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因?yàn)楸淼拇鎯?chǔ)順序就是按照那個(gè)字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個(gè)字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
同一個(gè)查詢的結(jié)果集為什麼有時(shí)候是按他想要的順序排列,有時(shí)候又不是,或者是在SQL2000里是這個(gè)順序,到了SQL2005/2008又是那個(gè)順序?
其實(shí),只要語(yǔ)句里沒有指定“order by”,SQLSERVER并不會(huì)按照順序返回的。有可能你的表里有一個(gè)字段已經(jīng)建立了索引
你想結(jié)果集按照那個(gè)建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因?yàn)楸淼拇鎯?chǔ)順序就是按照那個(gè)字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個(gè)字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
相關(guān)文章
sqlserver數(shù)據(jù)庫(kù)獲取數(shù)據(jù)庫(kù)信息
這篇文章主要介紹了sqlserver數(shù)據(jù)庫(kù)獲取數(shù)據(jù)庫(kù)文件信息,大家參考使用吧2014-01-01使用SQL批量替換語(yǔ)句修改、增加、刪除字段內(nèi)容
sql替換語(yǔ)句,用該命令可以整批替換某字段的內(nèi)容,也可以批量在原字段內(nèi)容上加上或去掉字符。本文給大家介紹使用SQL批量替換語(yǔ)句修改、增加、刪除字段內(nèi)容的知識(shí),非常不錯(cuò),感興趣的朋友一起學(xué)習(xí)吧2016-08-08sqlserver中查找所有包含了某個(gè)文本的存儲(chǔ)過程
我想查找所有使用了sp_a 的存儲(chǔ)過程。右擊sp_a->view dependencies-> 選擇 view objects that depend on [sp_a] 你會(huì)發(fā)現(xiàn),有時(shí)候結(jié)果不能夠全部列出來,不能夠找到所有使用了sp_a的其他存儲(chǔ)過程。2010-05-05SqlServer快速檢索某個(gè)字段在哪些存儲(chǔ)過程中(sql 語(yǔ)句)
本文給大家分享一段sql語(yǔ)句實(shí)現(xiàn)SqlServer快速檢索某個(gè)字段在哪些存儲(chǔ)過程中,代碼非常簡(jiǎn)單,需要的朋友參考下2017-03-03insert into select和select into的使用和區(qū)別介紹
insert into ... select 和 select ... into的使用上有哪些區(qū)別呢?在本文將為大家下詳細(xì)介紹下,不知道的朋友可以了解下2013-09-09命令行啟動(dòng)mssqlserver服務(wù)的方法示例
這篇文章主要介紹了命令行啟動(dòng)mssqlserver服務(wù)的方法,大家參考使用2013-11-11SQLServer XML數(shù)據(jù)的五種基本操作
SQLServer XML數(shù)據(jù)的五種基本操作語(yǔ)句2009-07-07