zoukankan      html  css  js  c++  java
  • Oracle 学习笔记(九)

    分页查询

    上次笔记学到分页查询的三种方式:rowid、分析函数和 rownum,这次笔记重点学 rownum 方式的分页查询。

    1. 查询 emp 表为例

    SELECT * FROM emp;    

    2. 显示 rownum (由系统自己分配) 

    SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e; 

    rn 相当于 Oracle 分配的行 ID 号 

    3.查询出 6-10 条记录 

    a.先查出 1-10 条记录 

    SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e WHERE ROWNUM <= 10; 不是后面直接加上 and rownum >=6 ! 

    b. 后查出 6-10 条记录 (再包一层 select 加 where rn >= 6)

    SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e WHERE ROWNUM <= 10) WHERE rn >= 6; 

    4. 查询的变化 

    a. 指定查询列,只需修改最里层的子查询 

    查询员工的编号和工资,第 6 -10 条数据 

    SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT ename, sal FROM emp) e WHERE ROWNUM <= 10) WHERE rn >= 6; 

    b. 排序查询,也只需修改最里层的子查询 

    按工资排序后查询,第 6 -10 条数据 

    SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT ename, sal FROM emp ORDER BY sal) e WHERE ROWNUM <= 10) WHERE rn >= 6; 

    今天笔记做到这,后续有空继续。

    【微信公众号:Stephen】一个毕业三年后自学 Java 入行的程序员。
  • 相关阅读:
    - 错误笔记
    只是一个没有人知道的蒟蒻
    省选前模板复习
    数学知识小结#1
    写在NOIP2018后
    Atcoder&CodeForces杂题11.7
    Atcoder&CodeForces杂题11.6
    [NOIP11.1模拟赛]补番报告
    [JZOJ5281]钦点题解--瞎搞+链表
    [JZOJ5280]膜法师题解--思维+前缀和
  • 原文地址:https://www.cnblogs.com/stephen-java/p/10859477.html
Copyright © 2011-2022 走看看