在程序开发中,处理分页往往是比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:
1、SQL Server、Access数据库
这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句:
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select top PAGESIZE * from components where id not in
(select top (PAGESIZE*(CURRENTPAGE-1)) id from components order by id)
order by id
如下列:
select top 10 * from components where id not in
(select top 10*10 id from components order by id)
order by id
从101条记录开始选择,只选择前面的10条记录
2、Oracle数据库
因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:
1)、一种是利用相反的。
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not in(select id from components where rownum<=(PAGESIZE*(CURRENTPAGE-1))) and rownum<=PAGESIZE order by id;
如下例:
select * from components where id not in(select id from components where rownum<=100) and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
2)、使用minus,即中文的意思就是减去,呵呵,这语句非常的有意思,也非常好记
select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-1)) minus select * from components where rownum<=(PAGESIZE*(CURRENTPAGE-2));
如例:
select * from components where rownum<=10 minus select * from components where rownum<=5;.
3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。
select * from (select rownum tid,components.* from components where rownum<=100) where tid<=10;
Oracle毕竟还是大家闺秀,微软的小家碧玉还是差一点,呵呵,自己选择着用吧。
分享到:
相关推荐
### 三种数据库利用SQL语句进行高效分页 在数据处理和展示中,分页是一项常见且重要的技术。尤其在数据库查询中,合理地使用分页可以极大地提高系统的响应速度和用户体验。本文将详细介绍如何在三种不同的数据库...
本文将详细介绍如何在三种主流数据库系统——SQL Server、Access 和 Oracle 中利用 SQL 语句实现高效分页。 1. SQL Server 和 Access 数据库 在 SQL Server 和 Access 这两个微软数据库中,可以使用 `TOP` 关键字...
本文将详细介绍Oracle、MySQL以及SQL Server三种主流数据库系统中的分页技术,包括它们各自的实现方法和一些实用技巧。 ### 一、Oracle 分页 Oracle数据库提供了强大的功能来支持分页查询。在Oracle中,主要使用`...
不同的数据库管理系统(DBMS)有不同的分页查询语句,下面对 Oracle、DB2、SQL Server、MySQL、Access 等数据库的分页查询语句进行了整理。 SQL Server 分页查询 SQL Server 中有两种分页查询方法: 1. 第一种...
- `SQLHelper.cs`:这是针对SQL Server的数据库操作帮助类,提供了执行SQL语句、存储过程,以及分页查询等功能。 - `OracleHelper.cs`:针对Oracle数据库的操作类,同样支持基本的SQL执行和分页处理。 - `MySql...
软件功能及特点: 1、类反射工厂,泛型接口,三层架构,缓存机制,存储过程,分页,用户控件,一气呵成 2、支持SQLSERVER、MySql、ACCESS. ...9、数据库操作可选择SQL语句和存储过程 10、其它实用小工具
- **Oracle**:作为一款大型企业级数据库,Oracle被广泛用于需要高可用性和高性能的关键业务应用中。 ### Access 数据库详解 #### 1. 数据类型 - **文本**:用于存储文本信息,最长可达255个字符。 - **数字**:...
1. **创建SQL语句对象**:使用`SASqlString`或`SASqlStatement`类来构建SQL语句。 2. **执行DML语句**:对于INSERT、UPDATE、DELETE语句,可以调用`ExecuteUpdate()`方法: ```cpp SASqlString sql("INSERT INTO ...
- **单引号处理**:Oracle在SQL语句中需要转义单引号,MySQL则不需要。 - **翻页SQL**:Oracle使用ROWNUM进行分页,MySQL使用LIMIT。 - **长字符串处理**:Oracle处理长字符串更为灵活。 - **日期字段**:Oracle...
本教程将深入讲解如何在C#环境下利用Oracle数据库实现分页功能。 首先,你需要了解Oracle数据库的基本操作,包括连接数据库、执行SQL语句等。在C#中,通常使用Oracle Managed Data Access (ODP.NET Managed Driver)...
总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...
在Java中,我们可以使用JDBC(Java Database Connectivity)来连接Oracle数据库并执行上述SQL语句或调用存储过程。以下是一个基本的示例: ```java import java.sql.*; public class OraclePagingExample { ...
通过上述分析和示例,我们可以看到,利用Oracle存储过程进行分页查询不仅可以提高查询效率,还能增强代码的可读性和可维护性。在实际项目中,结合C#等高级语言的应用,可以进一步提升系统的性能和用户体验。
10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...
为了实现分页,我们需要编写SQL语句,包含LIMIT或OFFSET关键字(Oracle中使用ROWNUM和子查询实现类似功能),以限制返回的记录数量。 在Controller层,Spring MVC提供了一个处理HTTP请求并返回响应的机制。在这里,...
Oracle数据库在处理大数据量时,分页查询是一个非常重要的功能,它可以提高网页加载速度,减少服务器负担,并提供更好的用户体验。本资源包含Oracle分页的`.cs`代码、存储过程以及Aspnetpager分页控件的使用示例,...
14. **存储过程和触发器**:存储过程是预编译的SQL语句集合,可以封装复杂的业务逻辑,提高效率。触发器则在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行。 15. **事务处理**:了解事务的ACID属性(原子性...
【ASP实现Oracle数据记录分页显示】 在网页中展示大量数据时,为了...这种方式使得Oracle用户也能享受到与Access或SQL Server类似的便捷分页功能,提高了用户体验,同时也充分利用了Oracle在大数据处理方面的优势。
实例268 利用SQL语句录入数据 379 实例269 利用存储过程录入数据 380 9.6 图片存取技术 383 实例270 使用存取文件名的方法存取图片 383 实例271 使用ADO NET对象向SQL Server数据库存入图片...
本文将详细介绍如何利用SQL语句来实现这一功能,适用于MSSQL(Microsoft SQL Server)、MYSQL、ORACLE和ACCESS这四种常见的数据库系统。 首先,我们需要一个基础数据表,这个表通常包含省份、城市和区县三个级别的...