zoukankan      html  css  js  c++  java
  • 多表数据分页查询

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

    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

    就能够实现分页了。

  • 相关阅读:
    001_jdk配置
    mysql(5.7)安装教程
    mysql(5.6)安装教程
    外网发布
    蓝桥 历届试题 分考场
    蓝桥 历届试题 合根植物
    Codeforces Round #650 (Div. 3) D : Task On The Board
    HDU 3336 Count the string
    leetcode [238. 除自身以外数组的乘积]
    leetcode [837. 新21点]
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/15396274.html
Copyright © 2011-2022 走看看