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

主要记录一些常用的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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值