qq_蓝色梦魇_03236279
2016-10-10 18:36
select rownum,empno,ename,sal from emp order by sal desc这查询出来的结果薪水是按照降序排列,但是rownum不是混乱的吗?
SELECT * FROM ( SELECT rownum r, e.empno, e.ename, e.sal
FROM (SELECT * from emp ORDER BY sal DESC) e)
WHERE r>=5 AND r<=8 ;
这样确实可以得出一样的结果
就是的 感觉最里面那一层的rownum 不需要写,最里面只是完成了重新排序,然后外面的一层在生成行号,其实这样的就可以查出来
SELECT * FROM ( SELECT rownum r, e.empno, e.ename, e.sal
FROM (SELECT * from emp ORDER BY sal DESC) e)
WHERE r>=5 AND r<=8 ;
不会混乱,rownum是伪列,不是真实的数据
这里会自动列成1.2.3.4这样的递增,
老师讲课中有提到这一点
Oracle高级查询
62886 学习 · 144 问题
相似问题