一些实用SQL (持续更新)

本文详细介绍了如何在SQL Server中查询所有表名、表的所有字段名,并通过两种方式实现分页查询。
--SQL 查询所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
SELECT * FROM INFORMATION_SCHEMA.TABLES
--查询表的所有字段名:
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('表名' )
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.VIEWS
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

  分页:

--CREATE DATABASE DB_PageTest
--
GO

--USE DB_PageTest
--
CREATE TABLE T_Test(
--
ID INT PRIMARY KEY IDENTITY(1,1),
--
Title NVARCHAR(50),
--
TimeSpan Date
--
)
--
GO

--DECLARE @i INT
--
SET @i=0
--
WHILE(@i @PageSize*(@PageIndex-1)

--TOP N NOT IN 有自增ID的情况下,SQLSERVER版本为2000的分页
--SELECT TOP(@PageSize) * FROM T_Test WHERE ID NOT IN
--(SELECT TOP(@PageSize*(@PageIndex-1)) ID FROM T_Test ORDER BY ID )

--TOP N MAX 有自增ID的情况下,SQLSERVER版本为2000的分页
SELECT TOP(@PageSize) * FROM T_Test WHERE ID>
(SELECT MAX(ID) FROM(SELECT TOP(@PageSize * @PageIndex) ID FROM T_Test ORDER BY ID)Tmp)
END
GO
EXEC P_GetPagedTitle 20,1,0

  Row_Number分页:

1 SELECT * FROM(
2 SELECT *, ROW_NUMBER() OVER(ORDER BY ID)) AS RowNumber  
3   FROM [Table]) t WHERE RowNumber BETWEEN 1 AND 15

 

转载于:https://www.cnblogs.com/wjn2010/archive/2012/02/15/2352404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值