(以下是个人理解,无法保证完全正确)
ROWNUM是一个伪劣:
1.功能是在每次查询时,返回结果集的顺序号,在输出时一步一步产生。
注:所谓的输出是指结果集生成时,而不是显示在电脑屏幕上的输出
2.ROWNUM只能执行<,<=运算,不能执行>,>=或一个区间运算between...and等。
3.ROWNUM与ORDER BY一起使用时,ROWNUM实际是已经被排了序的ROWNUM.
即先输出再排序(排序是在结果集生成和显示在电脑屏幕上的输出之间进行的)
SELECT rownum,ename FROM emp ORDER BY ename; |
ROWNUM ENAME ---------- ---------- 11 ADAMS 2 ALLEN 6 BLAKE 7 CLARK 13 FORD 12 JAMES 4 JONES 9 KING 5 MARTIN 14 MILLER 8 SCOTT 1 SMITH 10 TURNER 3 WARD |