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> ...
随机推荐
- DF标志和串移动指令(movsb/movsw)
1.标志寄存器的第10位DF,方向标志位.在串处理指令中,控制每次操作后si,di的增减 DF=0,每次操作后,si.di添加 DF=1,每次操作后,si.di减小 我们能够用汇编语法描写叙述movs ...
- dotnet 命令的使用
dotnet --info PS E:\GitHub\KerryJiang\SuperSocket> dotnet --info.NET Command Line Tools (2.1.4) P ...
- orm 通用方法——RunProc调用存储过程
该方法暂不支持带返回值的存储过程,期待能人补充指点. 定义代码: /** * 描述:执行存储过程 * 作者:Tianqi * 日期:2014-09-16 * param:rs orm.RawSeter ...
- POJ 3622 multiset
思路: 放一个链接 是我太懒了 http://blog.csdn.net/mars_ch/article/details/52835978 嗯她教的我(姑且算是吧) (一通乱搞就出来了-) //By ...
- div动态加载页面
div动态加载页面 /* /// method 1 var url="<%=basePath%>/qne.do?p=pessegerCountSet"; $.post( ...
- 紫书 习题 10-25 UVa 1575 (有重复元素的全排列+暴搜)
我一开始以为有什么很牛逼的方法来做,然后一直没有思路 后来看了https://blog.csdn.net/zju2016/article/details/78562932的博客 竟然是暴搜?????? ...
- OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaDa
元数据最本质.最抽象的定义为:data about data (关于数据的数据).它是一种广泛存在的现象,在许多领域有其具体的定义和应用. JDBC中的元数据,有数据库元数据(DatabaseMeta ...
- 【CS Round #37 (Div. 2 only) A】Boring Number
[Link]:https://csacademy.com/contest/round-37/task/boring-number/ [Description] 让你找离平均数最近的一个数的下标; [S ...
- Windows7下修改pip源
以下列举三种方式的pip源配置: 1. 设置环境变量PIP_CONFIG_FILE指向pip.ini源配置文件,pip.ini文件内容如下: [global] index-url = http://m ...
- 变量get、set设置
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...