热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 数据库>>正文内容

SQLSERVER2005 EXPRESS部分特性小结

发布时间:2011年04月12日点击数: 佚名

最近研究了一下SQLSERVER数据库技术,现拿出来跟大伙分享,首先给出T-SQL脚本。

建立一张测试表:

  1. CREATE TABLE TestTable ( 
  2. Column1 varchar(1), 
  3. Column2 int 

加入一些测试数据:

  1. INSERT INTO TestTable VALUES ('A', 1); 
  2. INSERT INTO TestTable VALUES ('A', 1); -- 重复 
  3. INSERT INTO TestTable VALUES ('A', 2); 
  4. INSERT INTO TestTable VALUES ('B', 1); 
  5. INSERT INTO TestTable VALUES ('B', 2); 
  6. INSERT INTO TestTable VALUES ('B', 2); --重复 
  7. INSERT INTO TestTable VALUES ('C', 2) 

使用sqlserver2005新特性删除重复记录:

  1. DELETE 
  2. FROM TestTable 
  3. WHERE TestTable.%%lockres%% 
  4. NOT IN (SELECT MIN(b.%%lockres%%) 
  5. FROM TestTable b 
  6. GROUP BY b.column1, b.Column2) 

sqlserver2008新特性删除重复记录:

  1. DELETE 
  2. FROM TestTable 
  3. WHERE TestTable.%%physloc%% 
  4. NOT IN (SELECT MIN(b.%%physloc%%) 
  5. FROM TestTable b 
  6. GROUP BY b.column1, b.Column2); 

当然了如果TestTable 具备主键(假设主键为ID且identity(1,1)),我们可以通过传统的T-SQL语句获取不重复的记录:

  1. --建立主键 
  2. alter table TestTable with nocheck add 
  3. id int identity(1,1) primary key 
  4. go 
  5.  
  6. --取唯一记录 
  7. select min(ID)from TestTable 
  8. group by column1, column2 
  9. go 

SQLSERVER2005随机取数据:

  1. select top 3 * from TestTable order by newid() 

上述语句每次从TestTable内取出的3条随机记录。

SQLSERVER2005 row_number 函数:

该函数主要用于sql分页方面,给出简单范例代码

  1. select * from
  2. select id, column1, column2, row_number() OVER(order by id desc ) as row from TestTable 
  3. ) a 
  4. where row between 1 and 3 

这里id为 TestTable 的自增主键,每次按主键id降序后取前三条数据行。

查看SQLSERVER2005版本:

  1. SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition'

里给出不同版本的SQLSERVER2005版本:

RTM版:

sp3版:

SQLSERVER2005所有版本:

发行版 Sqlservr.exe
RTM 2005.90.1399
SQL Server 2005 Service Pack 1 2005.90.2047
SQL Server 2005 Service Pack 2 2005.90.3042
SQL Server 2005 Service Pack 3 2005.90.4035

最后,希望本文可以给您带来帮助。

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作