程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQLSERVER的排序問題結果不是想要的

SQLSERVER的排序問題結果不是想要的

編輯:更多數據庫知識

在論壇裡經常有人問這樣的問題

同一個查詢的結果集為什麽有時候是按他想要的順序排列,有時候又不是,或者是在SQL2000裡是這個順序,到了SQL2005/2008又是那個順序?

其實,只要語句裡沒有指定“order by”,SQLSERVER並不會按照順序返回的。有可能你的表裡有一個字段已經建立了索引

你想結果集按照那個建立了索引的字段排序,那麼你不指定“order by”是沒有問題的,因為表的存儲順序就是按照那個字段的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個字段建立索引,或者在SQL2000裡建立了索引,而在SQL2005/2008裡沒有建立索引,那麼就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,

結果集順序這一次和上一次不一樣是很正常的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved