分页是一个很常见的需求,大的说,有两种思路,一种是假分页,另一种则是真分页。假分页是从数据库中查出全部的数据,但是只在控件中显示出一部分,这样做的效率肯定是比较低的。个人觉得学会真分页,也就只是在数据库中,查询需要的那部分数据,是数据库操作的一个基本操作。
这里借分页技术,学习SQL中几个比较重要的内置函数和CTE(Common Table Expression)通用数据表表达式。
先把代码贴出来:
--------创建表
--如果该表已存在
if OBJECT_ID ('t_CTE','U') is not null --OBJECT_ID内置函数判断,如果t_CTE表已经存在(U表示U而的意思),返回int类型,比较简洁
drop table t_CTE;
go
create table t_CTE( c1 int, c2 decimal ,c3 int )
go
-------向表中插入数据
insert into t_CTE
select c1=1, c2=5.0,c3=10
union
select c1=2,c2=5.5,c3=10
union
select c1=3,c2=5.0,c3=20
union
select c1=4,c2=5.5,c3=10
go
insert into t_CTE ( c1,c2,c3)values(5,5.0,10)
insert into t_CTE ( c1,c2,c3)values(6,5.5,10)
insert into t_CTE ( c1,c2,c3)values(7,5.0,20)
insert into t_CTE (

本文介绍了SQL中的真分页技术,通过使用ROW_NUMBER()内置函数和CTE(Common Table Expression)来高效地查询分页数据。讲解了CTE作为临时表的操作优势,ROW_NUMBER()如何生成索引以及OBJECT_ID函数在判断表存在性上的应用,强调了灵活运用这些技术在解决数据库查询问题中的重要性。
最低0.47元/天 解锁文章
275





