`

收集整理—SQL Server技巧

阅读更多

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


7.字符串之Sum

例如,有个表
ID         NAME
------------------
1             T
2             H
3             A
4             N
5             K
要得到
THANK

declare @s varchar(100);
set @s='';
select @s=@s+[Name] from 表 order by id;
select @s;

再来一个排名的,没有排名字段查询排名

create table t1
(khid varchar(10), xsje money)

insert into t1 values ('001',100)
insert into t1 values ('002',105)
insert into t1 values ('003',220)
insert into t1 values ('004',89)
insert into t1 values ('001',150)
insert into t1 values ('002',50)
insert into t1 values ('003',38)

select (
select count(*) + 1 from (
select khid,sum(xsje) as xsje from t1 group by khid
) b where a.xsje < b.xsje
) mc,* from (
select khid,sum(xsje) as xsje from t1 group by khid
) a order by mc

优点:允许并列排名,纯查询
缺点:要做两次sum扫描源表

修改一下以适应于ACCESS
select (select count(*) + 1 from (select khid,sum(xsje) as xsje_sum from t1 group by khid) as b where a.xsje_sum < b.xsje_sum) as mc,*

from (select khid,sum(xsje) as xsje_sum from t1 group by khid) as a order by xsje_sum desc


8:用扩展存储过程判断文件是否存在
DECLARE @result int
EXEC @result = xp_cmdshell 'dir c:\boot.ini'
IF (@result = 0)
select '存在'
ELSE
select '不存在'  

分享到:
评论

相关推荐

    sqlserver管理员手册

    ### SQLServer管理员手册知识点概述 #### 一、SQL Server 2000概览 - **SQL Server系统介绍**:本章节将详细介绍SQL Server 2000的基础知识,包括其核心组件、服务以及与其他软件的集成方式。 - **新特性和功能**:...

    SQLServer2008查询性能优化 2/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQLServer2008查询性能优化 1/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    日常收集整理SqlServer数据库优化经验和注意事项

    在SQL Server数据库优化中,有几个核心的策略和注意事项值得我们关注。首先,索引的创建是提高查询效率的关键。对于高频率查询的列,特别是...持续学习和实践这些优化技巧,将有助于提升SQL Server数据库的整体性能。

    SQL Server 2012 Query Performance Tuning

    第9章:执行计划缓存分析,此章节探讨了SQL Server是如何使用执行计划缓存的,并提供了优化缓存使用的技巧。 第10章:查询重新编译,介绍了查询在什么情况下会重新编译,以及如何避免不必要的重新编译。 第11章:...

    基于SQL Server的中原文物中英双语案例库建设研究.pdf

    案例库的构建是指收集和整理一系列案例信息,将这些信息系统化地存储在数据库中,并通过特定的界面为用户提供检索、分析等功能。在本文中,案例库的构建分为三个主要步骤:案例库建设规划、案例库语料处理、案例库...

    VB实现SQL Enterprise Manager功能

    描述中提到这不是原创内容,可能是一个作者收集或整理的资料,可能存在一些错误,读者在使用时需要谨慎,并做好查证工作。作者鼓励大家下载查看,并期望社区成员能互相帮助纠正可能存在的问题。 基于这个主题,以下...

    经典SQL

    在这个"经典SQL"的压缩包中,很显然包含了作者在编程一年多的时间里收集和整理的各种SQL技巧和实践经验。 首先,让我们探讨一下SQL语句。SQL语句主要包括SELECT、INSERT、UPDATE和DELETE四大基本操作。SELECT语句...

    基于SQL数据库的性能优化问题分析.rar

    本资料"基于SQL数据库的性能优化问题分析"深入探讨了如何通过一系列策略和技巧提升SQL数据库的运行效率。 一、SQL查询优化 SQL查询优化是性能优化的基础,主要涉及以下方面: 1. **查询语句重构**:避免全表扫描,...

    ASP,NET+SQL2000学籍管理系统

    1. 需求分析:明确学籍管理系统的功能需求,收集并整理业务流程。 2. 设计阶段:绘制系统架构图,设计数据库模型,规划用户界面。 3. 编码实现:使用ASP.NET编写前端页面和后端逻辑,与SQL2000数据库进行接口设计和...

    将应用程序迁移到云的技巧整理.pdf

    Windows Azure支持SQL Database,可以迁移SQL Server数据库,但也需考虑数据迁移工具的使用、数据模型的调整以及云数据库服务的特性。 5. **误解澄清**:有观点认为迁移到云会减少对架构模式的关注,但实际上,无论...

    计算机专业毕业设计—351个VB管理系统源码打包(计算机专业整理).rar

    3. **数据库设计**:大部分管理系统都会涉及到数据库操作,如SQL Server、Access等。通过源码,可以学习如何使用ADO.NET进行数据访问,包括创建表、定义关系、执行SQL语句和处理结果集。 4. **界面设计**:VB提供...

    bugku笔记刷题目的整理

    此外,笔记中还可能涉及到文件包含漏洞、命令执行、 SSRF(Server-Side Request Forgery)等其他安全漏洞的实例。对于每种漏洞,都需要学习者了解其工作原理,学习利用技巧,并且掌握如何防止这些漏洞被恶意利用。 ...

    数据库原理及应用 刘淳

    1. 需求分析:理解业务需求,收集并整理数据实体和关系。 2. 概念设计:使用ER图(实体-关系图)来表示实体、关系和属性。 3. 逻辑设计:将ER图转换为关系模式,满足特定的范式要求。 4. 物理设计:考虑存储效率,...

    sql党员管理系统报告.doc

    - **技术基础**:基于SQL Server 2005技术,利用其强大的数据处理能力来支持系统的运行。 综上所述,这份实训报告不仅涵盖了数据库设计和开发的基础理论知识,还涉及了具体的技术实现细节。通过这次实训,学生不仅...

    数据库应用设计.ppt

    对于设计型实验,要求学生独立思考,勇于创新,同时学会如何运用已有的知识,收集和整理相关资料,解决实际问题。 实验报告的编写应当认真细致,清晰展示设计思路和实验步骤,体现出严谨的科学态度。整个教程旨在...

    基于JSP的人事管理系统JSP课设.docx

    - **信息处理能力**:锻炼学生在实际操作中收集信息、评估信息价值、整理加工信息的能力。 - **团队合作精神**:在项目实施过程中培养学生的团队合作精神与人际交往技巧。 #### 二、系统的运行环境 - **操作系统**...

    java经常用到的面试题,多年收集公司的面试资料整理

    面试中可能涉及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用,以及页面生命周期和隐含对象的理解。 ### 第五章 Servlet篇 Servlet处理HTTP请求,是Web应用的核心组件。理解...

Global site tag (gtag.js) - Google Analytics