oracle數據庫訪問order by不起作用分析


`SELECT * FROM student ROWNUM <= 1 ORDER BY id ASC`
執行結果,返回結果沒有排序。使用驅動"System.Data.OracleClient"。

換用Oracle.ManagedDataAccess.Client執行結果就排序了。

## 原因分析
-----------------------------
oracle中rownum和order by之間的關系,rownum並不是和sql server中的top一樣,區別在於執行的順序不一樣。

## sql server
-----------------------------
top 和 order by 同時出現時,先執行order by 后執行top

## oracle
-----------------------------
rownum 和 order by 同時出現時,rownnum 優先於 order by 執行

## 引用
-----------------------------
- [Oracle中的rownum與Order By之間的關系](http://www.cnblogs.com/QQParadise/articles/1702517.html)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM