ORACLE---伪列
ROWID:插入数据的时候生成,记录的是该行的物理地址(用作去重)
ROWNUM:查询数据的时候生成,返回的是序号(用作分页)
ROWNUM查询只能小于或小于等于某个值
SELECT E.* FROM EMP E WHERE ROWNUM <= 10;
SELECT E.* FROM EMP E WHERE ROWNUM <= 10 AND ROWNUM >5; --报错
可以将查询出的ROWNUM作为一个字段,外面在对查询的结果集进行查询,就可以进行ROWNUM区间取值了
SELECT ES.*
FROM (SELECT E.*, ROWNUM RN FROM EMP E WHERE ROWNUM <= 10) ES
WHERE RN > 5
AND RN <= 10;