您的位置:首页 > 数据库

常用T_sql语句收集(不断整理中)

2006-11-03 11:20 686 查看
主要记录一些常用的T_Sql语句,方便以后的查询

1、Restore Filelistonly 语句
返回由备份集内包含的数据库和日志文件列表组成的结果集。
例:restore filelistonly from disk='d:/sqltest.bak'。
2、要求用一个sql语句求出每个新闻分类的前N条记录
方法一:
select * from news a where id in(select top 2 id from news group by kind,id order by id )
方法二:
select * from news a where id in(select top 2 id from news where a.kind=kind order by id )
3、把某个字段重新生起序列(从1到n):
DECLARE @i int
Set @i = 0
Update Table1 Set @i = @i + 1,Field1 = @i

4、在查询中指定排序规则
Select * From Table1 Order By Field1 COLLATE Chinese_PRC_BIN

5、Order By的一个小技巧
Order By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指
定别名)
Select a.ID,a.Name,(Select Count(*) From TableB b Where a.ID=b.PID) From TableA a Order By 3

6、查询Excel文件 (文件要在数据库所在的机子上)
select*from
OpenRowSet('microsoft.jet.oledb.4.0','Excel8.0;HDR=yes;database=c:/book1.xls;',' [Sheet1$]')

7、查询Access中数据的方法
select * from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:/db2.mdb','select * from serv_user')

8、脚本创建链接服务器和登陆
exec sp_addlinkedserver
@server='DPVSERVER1', @srvproduct='',
@provider='SQLOLEDB', @datasrc='ServerB'
Go

exec sp_addlinkedsrvlogin
@rmtsrvname = 'DPVSERVER1' , @useself = 'false' ,
@rmtuser = 'sa' , @rmtpassword = 'password'
Go
9、Round的使用方法:
四舍五入: SELECT ROUND(150.75, 0) 151.00
截断: SELECT ROUND(150.75, 0, 1) 150.00

10、使用opendatasource函数实现远程查询
select * from opendatasource('SQLOLEDB','Data Source=IP;User ID=test;Password=test').esapp.dbo.aa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: