同一個(gè)查詢的結(jié)果集為什麼有時(shí)候是按他想要的順序排列,有時(shí)候又不是,接下來將為你詳細(xì)解答,感興趣的你可以參考下哈,希望對(duì)你有所幫助
在論壇里經(jīng)常有人問這樣的問題:
同一個(gè)查詢的結(jié)果集為什麼有時(shí)候是按他想要的順序排列,有時(shí)候又不是,或者是在SQL2000里是這個(gè)順序,到了SQL2005/2008又是那個(gè)順序?
其實(shí),只要語句里沒有指定“order by”,sqlserver并不會(huì)按照順序返回的。有可能你的表里有一個(gè)字段已經(jīng)建立了索引
你想結(jié)果集按照那個(gè)建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因?yàn)楸淼拇鎯?chǔ)順序就是按照那個(gè)字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個(gè)字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END