SQLSERVER的排序問題結(jié)果不是想要的
更新時間:2013年03月11日 17:27:53 作者:
同一個查詢的結(jié)果集為什麼有時候是按他想要的順序排列,有時候又不是,接下來將為你詳細解答,感興趣的你可以參考下哈,希望對你有所幫助
在論壇里經(jīng)常有人問這樣的問題:
同一個查詢的結(jié)果集為什麼有時候是按他想要的順序排列,有時候又不是,或者是在SQL2000里是這個順序,到了SQL2005/2008又是那個順序?
其實,只要語句里沒有指定“order by”,SQLSERVER并不會按照順序返回的。有可能你的表里有一個字段已經(jīng)建立了索引
你想結(jié)果集按照那個建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因為表的存儲順序就是按照那個字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
同一個查詢的結(jié)果集為什麼有時候是按他想要的順序排列,有時候又不是,或者是在SQL2000里是這個順序,到了SQL2005/2008又是那個順序?
其實,只要語句里沒有指定“order by”,SQLSERVER并不會按照順序返回的。有可能你的表里有一個字段已經(jīng)建立了索引
你想結(jié)果集按照那個建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因為表的存儲順序就是按照那個字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
相關(guān)文章
sqlserver數(shù)據(jù)庫獲取數(shù)據(jù)庫信息
這篇文章主要介紹了sqlserver數(shù)據(jù)庫獲取數(shù)據(jù)庫文件信息,大家參考使用吧2014-01-01SqlServer快速檢索某個字段在哪些存儲過程中(sql 語句)
本文給大家分享一段sql語句實現(xiàn)SqlServer快速檢索某個字段在哪些存儲過程中,代碼非常簡單,需要的朋友參考下2017-03-03insert into select和select into的使用和區(qū)別介紹
insert into ... select 和 select ... into的使用上有哪些區(qū)別呢?在本文將為大家下詳細介紹下,不知道的朋友可以了解下2013-09-09SQLServer XML數(shù)據(jù)的五種基本操作
SQLServer XML數(shù)據(jù)的五種基本操作語句2009-07-07