日期:2014-05-17  浏览次数:20734 次

大家帮我看下这两条分页查询语句有区别吗
select ename from (select * rownum n from (select * from emp order by ename) where rownum<20)where n>10;
和这句select ename from (select * rownum n from (select * from emp order by ename) where rownum<20)where rownum;
还有这句select ename from (select * from (select * from emp order by ename) where rownum<20)where rownum>10;

这三句是一个意思吧 rownum在select不用非要写出吧???




------解决方案--------------------
三句都有语法错误,LZ执行一下应该很清楚才对..
主要错误是
1.select * ROWNUM n FROM 有错,不用rownum直接select * FROM 就好,若要用则select ROWNUM rn,t.* FROM TABLE t
2.ROWNUM>10要报错,这个最好了解一下rownum的概念..
------解决方案--------------------
前面两句执行都报错。。。
唉。
你没在PL/SQL里执行?

感觉楼主应该是对rownum不理解吧 多多学习一下Oracle基础