oracle数据库访问order by不起作用分析
`SELECT * FROM student ROWNUM <= 1 ORDER BY id ASC`
執(zhí)行結(jié)果,返回結(jié)果沒有排序。使用驅(qū)動"System.Data.OracleClient"。
換用Oracle.ManagedDataAccess.Client執(zhí)行結(jié)果就排序了。
## 原因分析
-----------------------------
oracle中rownum和order by之間的關(guān)系,rownum并不是和sql server中的top一樣,區(qū)別在于執(zhí)行的順序不一樣。
## sql server
-----------------------------
top 和 order by 同時出現(xiàn)時,先執(zhí)行order by 后執(zhí)行top
## oracle
-----------------------------
rownum 和 order by 同時出現(xiàn)時,rownnum 優(yōu)先于 order by 執(zhí)行
## 引用
-----------------------------
- [Oracle中的rownum與Order By之間的關(guān)系](http://www.cnblogs.com/QQParadise/articles/1702517.html)
轉(zhuǎn)載于:https://www.cnblogs.com/jiftle/p/7628133.html
總結(jié)
以上是生活随笔為你收集整理的oracle数据库访问order by不起作用分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyQt4 进度条和日历 代码
- 下一篇: Jzoj4458 密钥破解——Polla