记录下最近项目中常用到的SQL语句
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语句的更多相关文章
- 项目开发中常用到的SQL语句
阅读目录 循环示例 循环示例 循环示例 循环示例 1.循环示例 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知 ...
- 收集一些工作中常用的经典SQL语句
作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...
- 在springboot 和 mybatis 项目中想要显示sql 语句进行调试
在springBoot+Mybatis日志显示SQL的执行情况的最简单方法就是在properties新增: logging.level.com.dy.springboot.server.mapper= ...
- 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...
- 项目中常用的MySQL 优化
本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 一.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我 ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- Swift 项目中常用的第三方框架
Swift 项目中可能用到的第三方框架 字数1004 阅读4091 评论17 喜欢93 这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! ...
- JAVA项目中常用的异常处理情况总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
- JAVA项目中常用的异常知识点总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
随机推荐
- 【SFTP】使用Jsch实现Sftp文件下载-支持断点续传和进程监控
参考上篇文章: <[SFTP]使用Jsch实现Sftp文件下载-支持断点续传和进程监控>:http://www.cnblogs.com/ssslinppp/p/6248763.html ...
- bzoj4730: Alice和Bob又在玩游戏
Description Alice和Bob在玩游戏.有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点.Alice和Bob轮流操作,每回合 ...
- 说说Web.Config与App.Config
说到web.config和app.config大家都很熟悉,我们都叫他们配置文件,平时用的多,注意的少.两个有啥区别呢,很简单,一句话:如果是web程序,如webform项目类型和mvc项目类型就是w ...
- Supervisor 安装
在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...
- App.Config详解及读写操作
App.Config详解及读写操作 App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而 ...
- 利用nodejs搭建服务器,测试AJAX
最近学习了AJAX一直没有进行过测试,前今天了解了Noejs搭建本地服务器下就尝试了一下.通过AJAX请求的方式获取HTTP服务器返回数据的代码 首先创建一个serve.js的文件.并写入以下代码. ...
- sysbench压力测试工具简介和使用(二)
sysbench压力测试工具使用: 2.1 测试数据库服务器的硬件配置信息如下: CPU: 24核心线程数,Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00G ...
- 在vs2012中使用TeeChart空间
今天下了TeeChart 安装中发现没有VS2012选项 在看了官网回答后 可以 如下解决 1.- Install last maintenance release of 28 Septemb ...
- ZOJ 3481. Expand Tab
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4278 题意: 给出一些文本片段,把文本中的 Tab 字符根据配置,替换成 ...
- Gesture Recognizers与触摸事件分发[转]
一.Gesture Recognizers Gesture Recognizers是在iOS3.2引入的,可以用来识别手势.简化定制视图事件处理的对象.Gesture Recognizers的基类为U ...