sqlserver:收藏的SQLServer窍门技巧集来源: 发布时间:星期二, 2008年12月23日 浏览:124次 评论:0
上次写了个ACCESS窍门技巧集,反映良好,这次来个SQL语句特殊窍门技巧吧
1.把某个字段重新生气序列(从1到n): DECLARE @i Set @i = 0 Update Table1 Set @i = @i + 1,Field1 = @i 2.按成绩排名次 Update 成绩表 Set a.名次 = ( Select Count(*) + 1 From 成绩表 b Where a.总成绩 < b.总成绩 ) From 成绩表 a 3.查询外部数据库 Select a.* From OpenRowSet('Microsoft.Jet.OLEDB.4.0','c:\test.mdb';'admin';'',Table1) a 4.查询Excel文件 Select * From OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$ 5.在查询中指定排序规则 Select * From Table1 Order By Field1 COLLATE Chinese_PRC_BIN 为什么要指定排序规则呢?参见: http://www.delphibbs.com/delphibbs/dispq.asp?lid=1633985 例,检查数据库中Pub_Users表中是否存在指定用户: Select Count(*) From Pub_Users Where [UserName]='admin' And [PassWord]='aaa' COLLATE Chinese_PRC_BIN 默认比较是不区分大小写,如果不加COLLATE Chinese_PRC_BIN,那么密码aaa和AAA是等效,这当然和实际不符.注意是,每个条件都要指定排序规则,上例中用户名就不区分大小写. 6.Order By个小窍门技巧 Order By可以指定列序而不用指定列名,在下面例子里介绍说明它用处(注意,第 3列未指定别名) Select a.ID,a.Name,(Select Count(*) From TableB b Where a.ID=b.PID) From TableA a Order By 3 0
相关文章
读者评论发表评论 |