oracle分页查询sql语句的rn,Mysql和Oracle中的分页SQL语句
以前总结过一篇,Oracle分页查询语句的优化,当时对Oracle分页语句也着实花费了点时间记忆,不过今天在面试的时候,又考到了不同数据库的分页sql语句,对Oracle数据库的书写又存在了问题,以为很熟悉的分页sql书写起来也生疏了许多,这里再继续总结和整理一下,加深记忆。
Mysql的分页相对Oracle数据库来说,最是简单,通过提供的Limit关键字,即可方便的实现分页,如下:
SELECT
*
FROM testTable
WHERE 1 = 1
LIMIT 1, 20;
Oracle的分页sql,传统的是通过rownum,来进行分页,如下:
SELECT
*
FROM (SELECT
T1.*,
ROWNUM rn
FROM (SELECT
*
FROM testTable
ORDER BY id DESC) T1
WHERE ROWNUM <= 20)
WHERE rn > 0;
不过上面的分页sql在数据量庞大的时候,越往后的分页查询会越缓慢,还有另外的一种效率很高的分页查询,通过rownum和rowid来进行分页,如下:
SELECT
t1.*
FROM testTable t1, (SELECT
rid
FROM (SELECT
ROWNUM rn,
t.rid
FROM (SELECT
ROWID rid
FROM testTable
WHERE 1 = 1) t
WHERE ROWNUM <= 20)
WHERE rn > 0) t2
WHERE 1 = 1 AND t1.ROWID = t2.rid;
总结:分页的应用在各式各样的系统中,都是必不可少的组成部分,对分页sql的应用和优化也一直是程序开发中的重要成分,需要不断的记忆和总结。
oracle分页查询sql语句的rn,Mysql和Oracle中的分页SQL语句相关推荐
- oracle数据库需要的端口号,SQL Server数据库、MySQL、Oracle数据库各自的默认端口号...
我们今天主要向大家讲述的是SQL Server数据库.MySQL.Oracle数据库各自的默认端口号,以下就是对SQL Server数据库.MySQL.Oracle数据库各自的默认端口号的描述,望在你 ...
- 来来来!一次搞定各种数据库 SQL 执行计划:MySQL、Oracle
执行计划(execution plan,也叫查询计划或者解释计划)是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等.如果 SQL 语句性能 ...
- linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...
本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...
- 数据库查询当前时间大全(MySQL、Oracle、Sqlserver)
文章目录 前言 数据库简介 优点 MySql时间查询 MySql查询当前时间 MySql查询上一年.上一个月.上一个星期... MySql查询本年.本月.本周... Oracle时间查询 oracle ...
- java分页查询_面试官:数据量很大,分页查询很慢,有什么优化方案?
准备工作 一般分页查询 使用子查询优化 使用 id 限定优化 使用临时表优化 关于数据表的id说明 <Java 2019 超神之路> <Dubbo 实现原理与源码解析 -- 精品合集 ...
- oracle分组查询取第一条数据,160804、oracle查询:取出每组中的第一条记录
oracle查询:取出每组中的第一条记录 按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group b ...
- mysql update delete_MySQL中UPDATE与DELETE语句的使用教程
UPDATE 更新UPDATE SET 语法用于修改更新数据表中的数据. 语法: UPDATE tb_name SET column1 = new_value1,column2 = new_value ...
- excel单元格调用mysql数据_Excel中如何调用SQL数据
通过参阅Excel帮助文档,我们可以发现一个很有用的外部函数SQL.REQUEST:http://office.microsoft.com/zh-cn/excel/HP052092672052.asp ...
- MySQL(7)数据库中的高级(进阶)语句:VIEW视图、联集和常见计算
文章目录 一.VIEW(视图) 1.1 概念 1.2 创建.查看和删除视图 二.联集 2.1 UNION 2.2 UNION ALL 三.交集值 3.1 两表没有单独重复的行,并且确实有交集的时候用 ...
最新文章
- ubuntu不显示壁纸,桌面右键无反应
- 音视频技术开发周刊 | 226
- 机器学习常用的算法整理:线性回归、逻辑回归、贝叶斯分类、支持向量机、K-means聚类、决策树、随机森林以及常用的应用场景整理
- PyTorch框架学习十五——可视化工具TensorBoard
- 02.规划过程组表格-质量管理计划
- DEDECMS给图集图片{dede:productimagelist}自动编号
- Python 之 单例
- 《App后台开发运维和架构实践》推荐序
- 无法在驱动器0分区上安装windows解决方法
- 什么是java swing_Java干货:解读什么是swing
- 什么样的Java程序员可以去BAT公司上班?
- 美颜特效、黑白照片上色、AI人像动漫化,达摩院的学习营来了!
- 人工智能工程师要具备的5项基本技能
- 将fla文件的影片剪辑按钮等一些类文件和外部的as文件整合到swc中
- 关于vue-lic脚手架使用less和sass的配置
- [USACO2.1]Healthy Holsteins 健康的荷斯坦奶牛 题解(DFS/BFS详解)
- HelloWorld之jetty运行
- 顺序表类的声明java_顺序表实现解约瑟夫环_Java
- sass/lsee 转换css 网站 SASS 转 CSS 工具,在线 SASS/SCSS 编译工具 - 在线工具-wetools.com微工具
- 企业如何落地实施研发效能度量?
热门文章
- Tomcat服务的下载和安装
- MWORKS虚拟驾驶舱的设计与实现
- NGUI Key Binding使用方法
- 【PySCF学习3】-分子结构之对称性、电荷及自旋多重度
- 量子计算入门基础学习(四——对角化,算符 迹 张量积)
- 模糊逻辑控制器在matlab中调用,模糊逻辑控制器结构与设计(matlab).ppt
- 电阻参数_电阻器及电阻器参数
- 【ChatGPT】openai支持的国家有哪些:OpenAI‘s services are not available in your country. (error=unsupported_coun
- 基于java的留言板系统
- 使用Kalibr问题汇总:ModuleNotFoundError: No module named ‘wx‘