1  实现对字符串的Spilt功能。 比如查出“I have a dream!”总共有几个单词,需要以' '分割,然后再求出总数。

ALTER function [dbo].[fc_SpiltString]
(
@str varchar(1024), --要分割的字符串
@split varchar(10) --分隔符号
)
returns int
as
begin
declare @location int
declare @start int
declare @length int set @str=ltrim(rtrim(@str))
set @location=charindex(@split,@str)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@str,@start)
set @length=@length+1
end
return @length
end
GO

2 表连接进行增删改

--INSERT
INSERT INTO [TABLE1]([ID],[NAME],[ClassName])
SELECT S.ID,S.NAME,C.[ClassName] FROM
[STUDENT] AS S INNER JOIN [CLASS] AS C
ON S.CID=C.ID --UPDATE
UPDATE S SET S.NAME='XXX' FROM [STUDENT] AS S
INNER JOIN [CLASS] AS C
ON S.CID=C.ID WHERE .. --DELETE
DELETE S FROM [STUDENT] AS S
INNER JOIN [CLASS] AS C
ON S.CID=C.ID WHERE ..

3 对临时表的基本操作(insert into #temp和select * into #temp )具体实现语句不写,只写怎么判断。

IF (object_id('tempdb..#Temp') is  null  )
BEGIN
CREATE TABLE #Temp(
Name nvarchar(50) not null, )
END
ELSE
BEGIN
TRUNCATE TABLE #Temp
END

4 开启sql执行统计功能

set statistics io on
set statistics time on
set statistics profile on

5 except 代替not in

 select distinct [name] from [T] except select  [name] from [T2]
select [name] [name]from [T] where TgtCulture not in (select [name] from [T2])

性能对比

T2:Scan count 1, logical reads 3009
T:Scan count 1, logical reads 2968, SQL Server Execution Times:
CPU time = 124 ms, elapsed time = 127 ms. T2:Scan count 7, logical reads 152215
T:Scan count 3, logical reads 3256
SQL Server Execution Times:
CPU time = 311 ms, elapsed time = 183 ms.

关于排序聚合函数:

row_number()  无重复不可并列的排序;

Rank()  相等的数据并列排序;

over (partition by xx) 按照XX 分组  效果等同于 Group by ;

下面的句子是  按照工资从大到小并且可以并列排名 给每个班级进行排名

select  saray, name,groupid,rank() over(partition by groupid order by saray desc) rankId from [UserSarary]

表变量(把表当作参数执行方法或者存储过程)

--建立自定义表类型
create type MyTableV as table (ID int null)
--建立存储过程
create PROCEDURE [dbo].[temptest](
@Source as MyTableV readonly,
@table as MyTableV readonly
)
as
begin
select * from @source;
select * from @table
end
--声明表变量 @source 第一个参数
DECLARE @source TABLE(ID INT)
declare @source MyTableV
insert into @source values(3)
--声明表变量 @table 第二个参数
DECLARE @table TABLE(ID INT)
declare @table MyTableV
insert into @table values(31)
--执行存储过程
exec [temptest] @source,@table

  

  

记录下最近项目中常用到的SQL语句的更多相关文章

  1. 项目开发中常用到的SQL语句

    阅读目录 循环示例 循环示例 循环示例 循环示例 1.循环示例 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知 ...

  2. 收集一些工作中常用的经典SQL语句

    作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...

  3. 在springboot 和 mybatis 项目中想要显示sql 语句进行调试

    在springBoot+Mybatis日志显示SQL的执行情况的最简单方法就是在properties新增: logging.level.com.dy.springboot.server.mapper= ...

  4. 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)

    记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...

  5. 项目中常用的MySQL 优化

    本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 一.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我 ...

  6. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  7. Swift 项目中常用的第三方框架

    Swift 项目中可能用到的第三方框架 字数1004 阅读4091 评论17 喜欢93 这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! ...

  8. JAVA项目中常用的异常处理情况总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

  9. JAVA项目中常用的异常知识点总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

随机推荐

  1. (AIDE)Android Eclipse JNI 调用 .so文件加载问题

    背景:对于Android工程 Eclipse里编译好的.so文件放到 libs\armeabi下以后, 这样.so文件就可以打包到apk文件里,在apk装到手机上以后 在libs\armeabi下的. ...

  2. 基于Cloud Foundry平台部署nodejs项目上线

    Cloud Foundry(以下简称CF),CF是Vmware公司的PaaS服务平台,Paas(Platform as a Service,平台即服务), 是为开发者提供一个应用运行的平台,有了这人平 ...

  3. View加载过程

    1. 先判断子类是否重写了loadView,如果有直接调用.之后调viewDidLoad完成View的加载.2 .如果是外部通过调用initWithNibName:bundle指定nib文件名的话,V ...

  4. 关于delegate(代理)总结

    stackoverflow  上讲解:http://stackoverflow.com/a/12660523/4563358 delegate是将需要处理交给自己的代理. 在自己的对应的类中.h文件中 ...

  5. 【转】ORACLE定期清理INACTIVE会话

    源地址:http://www.cnblogs.com/kerrycode/p/3636992.html ORACLE数据库会话有ACTIVE.INACTIVE.KILLED. CACHED.SNIPE ...

  6. [ActionScript 3.0] AS3.0和AS2.0的相互通信

    AS3和AS2之间的通信,最好的方式可能就是LocalConnection了. AS2向AS3发送数据,即AS2调用AS3的函数: as2.0代码(按钮上写的发送信息代码): on (release) ...

  7. [转载]反无人机企业DroneShield利用声音识别侦测无人机

    原文:http://www.cnbeta.com/articles/495071.htm 无人机产业正在蓬勃发展,受益的不仅仅是那些生产小型飞行设备的企业.专家估计仅在澳大利亚就有5万架商用无人机以及 ...

  8. java工作流软件发送邮件的方案

    利用javamail的功能将发送邮件的功能集成到java工作流系统中.javamail包提供有发送邮件的方法,设置发送人地址,收件人地址,抄送,主题,邮件服务器地址,认证用户等信息,再调用javama ...

  9. openlayers3 画扇形

    参考了http://www.cnblogs.com/lingxue3769/archive/2011/11/01/2231409.html同学的博客 和 百度知道https://zhidao.baid ...

  10. agile/scrum 如果一切都从解放前开始

    一个非常珍贵的机会,聚集了公司很多牛人,进行了一场发人深省的讨论.有一个话题我想拿出来和他家分享一下我的看法. 越来越不舒服的站会 站会是每天都在固定的时间.地点,大概持续15分钟左右(我们的小组都比 ...