• 多表数据分页查询


    多表数据分页查询在实际项目中会使用到。

    SELECT * FROM (
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO,ROWNUM NOM FROM EMP
    UNION
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO,ROWNUM NOM FROM EMP_ZYQ
    )

    这种写法的运行结果,最后按照ROWNUM 进行排序显示如下:

     我们可以看到 ROWNUM 中有重复的1 和 重复的2 等等。

    可见使用这种方式进行分页显然是不行的。

    那么应该怎样做,想法是,将两张表中的数据都查询出来之后,再进行总的分页。

    如下

    SELECT A.*,ROWNUM NOM FROM (
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP
    UNION
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP_ZYQ
    ) A

    这种写法的运行结果,最后按照ROWNUM 进行排序显示如下:

    对上面的sql 进行一下优化:

    SELECT A.*,ROWNUM FROM (
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP
    UNION
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP_ZYQ
    ) A
    WHERE ROWNUM BETWEEN 1 AND 100

    就能够实现分页了。

  • 相关阅读:
    保险实战
    单片机的应用(位操作)
    显示转换(类型转换)
    游泳池的容量
    消失的重量(隐式变换)
    物品交换(变量)
    物品的存放(变量)
    输出变量的界值(int、float、long.....)
    在屏幕上输出内容
    C#笔记
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/15396274.html
Copyright © 2020-2023  润新知