62. 查询员工表中 salary 前 10 的员工信息.
select last_name, salary
from (select last_name, salary from employees order by salary desc)
where rownum <= 10
说明: rownum "伪列" ---- 数据表本身并没有这样的列, 是 oracle 数据库为每个数据表 "加上的" 列.
可以标识行号.默认情况下 rownum 按主索引来排序. 若没有主索引则自然排序.
注意: **对 ROWNUM 只能使用 < 或 <=, 而是用 =, >, >= 都将不能返回任何数据.
63. 查询员工表中 salary 10 - 20 的员工信息.
select *
from(
select rownum rn, temp.*
from (
select last_name, salary
from employees e
order by salary desc
) temp
)
where rn > 10 and rn < 21
64. 对 oralce 数据库中记录进行分页: 每页显示 10 条记录, 查询第 5 页的数据
select employee_id, last_name, salary
from (
select rownum rn, employee_id, last_name, salary
from employees
) e
where e.rn <= 50 and e.rn > 40
注意: **对 oracle 分页必须使用 rownum "伪列"!
select employee_id, last_name, salary
from (
select rownum rn, employee_id, last_name, salary
from employees
) e
where e.rn <= pageNo * pageSize and e.rn > (pageNo - 1) * pageSize
/*************************************************************************************************/