SQLSERVER2005 EXPRESS部分特性小结
发布时间:2020-12-12 14:43:36 所属栏目:MsSql教程 来源:网络整理
导读:??? 最近研究了一下SQLSERVER数据库技术,现拿出来跟大伙分享,首先给出T-SQL脚本。 建立一张测试表: CREATE TABLE TestTable ( Column1 varchar ( 1 ), Column2 int ) 加入一些测试数据: INSERT INTO TestTable VALUES ( ' A ' , 1 ); INSERT INTO TestTa
??? 最近研究了一下SQLSERVER数据库技术,现拿出来跟大伙分享,首先给出T-SQL脚本。 建立一张测试表: CREATE TABLE TestTable (Column1 varchar ( 1 ), Column2 int ) 加入一些测试数据: INSERT INTO TestTable VALUES ( ' A ' , 1 );INSERT INTO TestTable VALUES ( ' A ' , 1 ); -- 重复 INSERT INTO TestTable VALUES ( ' A ' , 2 ); INSERT INTO TestTable VALUES ( ' B ' , 1 ); INSERT INTO TestTable VALUES ( ' B ' , 2 ); -- 重复 INSERT INTO TestTable VALUES ( ' C ' , 2 ) 使用sqlserver2005新特性删除重复记录: DELETE FROM TestTable WHERE TestTable. %% lockres %% NOT IN ( SELECT MIN (b. %% lockres %% ) FROM TestTable b GROUP BY b.column1,b.Column2) sqlserver2008新特性删除重复记录: DELETEFROM TestTable WHERE TestTable. %% physloc %% NOT IN ( SELECT MIN (b. %% physloc %% ) FROM TestTable b GROUP BY b.column1,b.Column2); 当然了如果TestTable 具备主键(假设主键为ID且identity(1,1)),我们可以通过传统的T-SQL语句获取不重复的记录: -- 建立主键alter table TestTable with nocheck add id int identity ( 1 , 1 ) primary key go -- 取唯一记录 select min (ID) from TestTable group by column1,column2 go SQLSERVER2005随机取数据: select top 3 * from TestTable order by newid ()上述语句每次从TestTable内取出的3条随机记录。 SQLSERVER2005 row_number 函数: 该函数主要用于sql分页方面,给出简单范例代码: select * from (select id,column1,column2,row_number() OVER ( order by id desc ) as row from TestTable ) a where row between 1 and 3 这里id为 TestTable 的自增主键,每次按主键id降序后取前三条数据行。 查看SQLSERVER2005版本: SELECT SERVERPROPERTY( ' productversion ' ),SERVERPROPERTY ( ' productlevel ' ),SERVERPROPERTY ( ' edition ' )这里给出不同版本的SQLSERVER2005版本: RTM版: sp3版: SQLSERVER2005所有版本: |