Oracle系列第五六章合集----分页和去重

本文详细介绍了Oracle数据库中的分页实现,通过rownum伪列进行分页,并探讨了去重的方法,利用rowid进行精确检索。此外,还讲解了表连接的概念,包括等值连接、非等值连接、自连接和外连接,以及92与99标准的SQL语法差异。
摘要由CSDN通过智能技术生成

第五章 分页和去重
5.1分页介绍
为什么会用到分页呢,因为列表内容太多了,所以使用分页进行显示。数据过多单页面无法显示所有内容,则每一次只显示一部分的数据。
分页,是一种将所有数据分段展示给用户的技术。用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止。其实这和我们阅读书籍很类似。
实现分页的解决方案有两种:

(1)一次查询出数据库中的所有记录,然后在每页中显示指定的记录。
(2)对数据库进行多次查询,每次只获得本页的数据并显示

如今网站建设中的数据都是海量的,若按方案1执行:无疑会加大服务器内存的负载,降低系统运行速度;若使用方案2执行,则可能回频繁操作数据库,也会影响响应效率;因而大家都会使用方案1+方案2来实现。

分页的核心就是计算每页多少记录和总页数以及第几页。每一页的数据则只需计算起始的记录和结束记录即可。

5.1.1 rownum

rownum不是一个真实存在的列,它是用于从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数。

由于rownum总是结果集的编号,所以无法直接查询rownum>1的任何记录,因为总是从1开始的嘛。

5.1.2 oracle 分页实现

虽然ronum不能直接查询大于1的记录,但是我们可以自己添加伪列,将查询的结果集中的rownum作为查询的来源,则此时来源中的rownum变成了普通字段,再通过这个rownum来进行某段记录的选取即可。

5.2 去除重复记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值