主要记录一些常用的T_Sql语句,方便以后的查询 :
1
、
Restore Filelistonly
语句
返回由备份集内包含的数据库和日志文件列表组成的结果集。
例: restore filelistonly from disk='d:/sqltest.bak' 。
返回由备份集内包含的数据库和日志文件列表组成的结果集。
例: 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 )
方法一:
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
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
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
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')
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
Go
9、Round的使用方法:
四舍五入: SELECT ROUND(150.75, 0) 151.00
截断: SELECT ROUND(150.75, 0, 1) 150.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