SQL分页方法
表中主键必须为标识列,[ID] int IDENTITY (1,1)
也可以使用联合主键 id+id2+id3+……
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
from TestTable
ORDER BY id))
ORDER BY ID
SELECT TOP 页大小 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
from 表
ORDER BY id))
ORDER BY ID
2.分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
from TestTable
WHERE (ID >
(SELECT MAX(id)
from (SELECT TOP 20 id
from TestTable
ORDER BY id) AS T))
ORDER BY ID
SELECT TOP 页大小 *
from TestTable
WHERE (ID >
(SELECT MAX(id)
from (SELECT TOP 页大小*页数 id
from 表
ORDER BY id) AS T))
ORDER BY ID
3.分页方案三:(利用SQL的游标存储过程分页)
create procedure SqlPager
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1, @rowcount=@rowcount output
select ceiling(1.0*@rowcou
相关文档:
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合。每一个属性/值对都由分号隔开。
PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....
同样,连接字符串必须包含SQL Server实例名称:
  ......
SQL语句的处理
ps:MSDN摘
优化 在基础表上(不引用视图或远程表)的 SELECT 语句:SELECT 语句是非程序性的,这意味着数据库服务器必须分析语句,以决定提取所请求数据的最有效方法
处理上面步骤的组件称为“查询优化器”:
输入:查询、数据库方案(表和索引的定义)以及数据库统计信息
& ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明: ......