MSSQL相关用法
一、分页查询
方式一(row_number):
SELECT TOP pageSize *
FROM (SELECT row_number() OVER (ORDER BY orderColumn) AS rownumber, * FROM [Table]) temptdb_row
WHERE rownumber > (page - 1)*pageSize;
Tips:
分页查询的时候,请不要用参数化方法,因为参数化方法会给参数加上引号,会给page,pagesize加上引号,导致查询出错,而且一个参数化的参数,不能再同一个dal函数里的多条语句里同时使用。
方式二(不推荐):
数据库中有100条数据,我要查第40-50数据,表中有两个字段,一个字段是id,一个字段是name,其中id是不连续的,因为我删除id为44、45的记录,因为我要查数据的第40-50条记录,也就是id分别为41、42、43、46、47、…52的十条记录。
SELECT TOP 10 *
FROM [Table]
WHERE id NOT IN (SELECT TOP 40 id FROM [table] ORDER BY id)
ORDER BY id;
(1)按照id排序之后先搜出前40条数据
(2)然后搜出id不在前40之内的其它数据
(3)最后再取出前10条数据,这就是数据库中第41-50条数据(注意,id不是41-50,因为我删除了id为44、45的记录)
二、排序
(1)对 1,2,3,10,11,12 等数字进行排序
SELECT *
FROM [systemTree]
WHERE parentCrtId='0' AND proCode = '425'
ORDER BY LEN(nodeName),nodeName
(2)对中文数字进行排序
三、查询重复的数据
select * from people where peopleId in (select peopleId from people group by peopleId having count(*) > 1);
select platform_id,count(*) from user_platfrom_unit where unit_type=1 group by platform_id having count(*)>10
COUNT
COUNT(*):求表中的行数
COUNT(列名称):求表中该列的行数,不包含null值
COUNT(DISTINCT 列名称):求表中该列去重后的个数
四、增加和删除前缀和后缀
update [TABLE] set [字段] = '前缀'+ [字段];
update [TABLE] set [字段] = replace([字段], '前缀', '');
--REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str。
--或者substring
五、where 和 having 的区别
where 是一个约束声明,使用 where 约束来自数据库的数据,where 是在结果返回之前起作用的,where 中不能使用聚合函数。
having 是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在 having 中可以使用聚合函数。
在查询过程中聚合语句 (sum,min,max,avg,count) 要比 having 子句优先执行。
而 where 子句在查询过程中执行优先级高于聚合语句。
六、exists和in
https://www.cnblogs.com/clarke157/p/7912871.html
- in()适合B表比A表数据小的情况
- exists()适合B表比A表数据大的情况
当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用。
七、把数据从一个表插入到另外一个表中
insert into [Table1](proCode) (select proCode from [Table2] group by proCode);
八、union
https://blog.csdn.net/u010895119/article/details/80335983
select deptno,
count(1) 总人数,
count(case when job ='SALESMAN' then '1' end) 销售人数,
count(case when job ='MANAGER' then '1' end) 主管人数
from emp
group by deptno;--如果不group,会认为所有数据是一组,返回一个数据
最后 SQL优化
- 明知道只有一条查询结果是,请使用 LMIT 1 / TOP 1,避免全表扫描。
- 尽量避免使用select * ,它会全表扫描,不能有效利用索引,而且如果当该表增加了字段,解析查询结果时,可能会解析出错。
MSSQL相关用法的更多相关文章
- slf4j log4j logback关系详解和相关用法
slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...
- $.ajax等相关用法
下面是jquery一些方法的相关用法: $.ajax: $.ajax({ type: "GET", url: "url", data: {username:$( ...
- oradmin相关用法
[转]oradmin相关用法 创建例程: -NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文 ...
- #ifdef预编译相关用法
#ifdef预编译相关用法主要有:(1)#ifdef XXX executing the corresponding xxx code #endif(2)#ifdef XXX executing th ...
- Java中Date各种相关用法
Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set ...
- Js相关用法个人总结
Js相关用法个人总结 js中将数组元素添加到对象中var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<pushArr. ...
- Css相关用法个人总结
Css相关用法个人总结
- 关于Unity中的刚体和碰撞器的相关用法(二)
在关于Unity中的刚体和碰撞器的相关用法(一)的基础上 有一个plane平面,一个ball球体,都挂了碰撞器,ball挂了刚体Rigidbody,写了一个脚本ball挂载在球体上,球体从空中落下装机 ...
- STL中的Vector相关用法
STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...
随机推荐
- hdu4691 Front compression(后缀数组)
Front compression Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) ...
- linux和Windows双系统让 Windows 把硬件时间当作 UTC
linux和Windows双系统让 Windows 把硬件时间当作 UTC Windows设置如下:开 始->运行->CMD,打开命令行程序(Vista则要以管理员方式打开命令行程序方可有 ...
- try{futureGirl}catch(Exception){"Kill All Trouble"}——echarts样式
首先先给未来女,解释一下题目吧.这是段代码,我再try{}括号里写了你,意思我会保护你.后面的catch(Exception)是捕捉你的所有麻烦,交给我解决. 今天收工较早,拖着疲惫是身躯回到宿舍,简 ...
- 国行Android手机使用google全套GMS服务小结
由于众所周知的原因,国行手机是不能内置google服务的,但作为铁杆google粉,没有GMS的Android不是完整的Android,NEXUS系列机器又由于各种原因买不到或者不想选购,那么 ...
- NOIP 模拟赛
NOIP 模拟赛 思路:求 n , m 的 gcd,然后用 n , m 分别除以 gcd:若 n 或 m 为偶数,则输出 1/2. 特别的,当 n = m = 1 时,应输出 1/1 #include ...
- Java并发包之Semaphore用法
多线程中的同步概念就是排着队去执行一个任务,执行任务的是一个一个的执行,并不能并行执行,这样的优点是有助于程序逻辑的正确性,不会出现线程安全问题,保证软件的系统功能上的运行稳定性, Semaphore ...
- Linux下redis安装(单机版)
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...
- 保留原先小程序名称 更改微信小程序主体
首先给小程序开发者普及一些官方消息: 1.目前官方是不允许修改已经认证的小程序主体信息!(公众号可以修改) 2.小程序与公众号的名称是全平台唯一,即如果小程序叫‘ABC’其他小程序和公众号就不能存在‘ ...
- OpenStack_Swift源代码分析——Object-auditor源代码分析(2)
1 Object-aduitor审计详细分析 上一篇文章中,解说了Object-aduitor的启动,当中审计的详细运行是AuditorWorker实现的.在run_audit中实例化了Auditor ...
- HDU 4588 Count The Carries 数位DP || 打表找规律
2013年南京邀请赛的铜牌题...做的非常是伤心.另外有两个不太好想到的地方.. ..a 能够等于零,另外a到b的累加和比較大.大约在2^70左右. 首先说一下解题思路. 首先统计出每一位的1的个数, ...