国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

收藏的SQLServer技巧集

2020-10-29 21:56:41
字體:
來源:轉載
供稿:網友
上次寫了個ACCESS技巧集,反映良好,這次來個SQL語句特殊技巧吧

1.把某個字段重新生氣序列(從1到n):
DECLARE @i int
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可以指定列序而不用指定列名,在下面的例子里說明它的用處(注意,第三列未指定別名)
Select a.ID,a.Name,(Select Count(*) From TableB b Where a.ID=b.PID) From TableA a Order By 3
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳州市| 乌兰县| 仪陇县| 远安县| 若尔盖县| 梧州市| 平原县| 盐池县| 赞皇县| 峨山| 响水县| 长泰县| 桃园县| 大理市| 亚东县| 于田县| 兴仁县| 友谊县| 五峰| 石城县| 镇雄县| 安吉县| 聂荣县| 呼伦贝尔市| 从化市| 宁城县| 乌拉特前旗| 闽清县| 兴和县| 密山市| 威远县| 资源县| 无棣县| 杭锦后旗| 吉安县| 海南省| 姚安县| 和田市| 毕节市| 南江县| 平武县|