要求:查询雇员表中排在第6~9位置上的雇员SELECT ename,sal FROM (SELECT rownum as num,ename,sal FROM emp WHERE rownum<=9 ) WHERE num>=6;上面的执行是对的,但是如下的执行为什么是错的呢?请帮忙解答一下,谢谢,小弟刚开始学习。SELECT ename,sal FROM emp WHERE rownum>=6 AND rownum<=9; 这个错哪里了?
调试欢乐多
from
(
select ename,sal,row_number()over(order by eno) rn
from emp t
)
where rn>=6 and rn<=9;
可以通过对rownum取别名来解决。就像你上面列出的正确的那句
where num>=6,表示是子句(SELECT rownum as num,ename,sal FROM emp WHERE rownum <=9 )中的查询结果里rownum列中值>=6的数据行
说得够清楚吧。可惜没分,哈哈
可以通过对rownum取别名来解决。就像你上面列出的正确的那句
where num>=6,表示是子句(SELECT rownum as num,ename,sal FROM emp WHERE rownum <=9 )中的查询结果里rownum列中值>=6的数据行
说得够清楚吧。可惜没分,哈哈
很好!~明白!~