
SQL Server
SQL Server
gditzmr
这个作者很懒,什么都没留下…
展开
-
sql server 相除保留两位小数 并显示为百分比
SELECT'0.00%'ELSEEND AA。原创 2024-01-10 20:47:18 · 1005 阅读 · 0 评论 -
sql server 使用拼接包含输入、输出参数的SQL语句的存储过程
1、创建存储过程:use HotelDBif exists(select * from sys.procedures where name='pro_getGuestName')drop procedure pro_getGuestNamegocreate procedure pro_getGuestName@GuestID int,@GuestName varchar(50)...原创 2020-04-29 00:14:53 · 1019 阅读 · 0 评论 -
SQL Server触发器
--触发器是一种特殊的存储过程,它的执行不是由程序调用,也不是手动执行,而是同事件来触发。--触发器分类:--(1)DML(Data Manipulation Language)触发器。包括的操作有:insert,delete,update--(2)DDL(Data Definition Language)触发器。包括的操作有:create,alter,drop--(3)登录触发器。与...原创 2020-01-06 19:01:29 · 297 阅读 · 0 评论 -
SQL Server with as(CTE)
with as短语,也叫做子查询部分(subquery factoring)。如果with as所定义的表名被调用两次以上,则优化器会自动将with as短语所获取的数据存入一个TEMP表里。如果只被调用一次,则不会。而提示materrialize则是强制将with as短语获取的数据存入一个全局临时表里。很多查询通过这种方式可以提高速度。CTE语法如下:[ WITH <commo...原创 2020-01-04 18:05:45 · 754 阅读 · 0 评论 -
SQL Server compute [by]
compute by 子句可通过同一个select语句既查看明细行,又查看汇总行。可计算子组的汇总值,也可计算整个结果集的汇总值。1、可选的by关键字,指定按哪一列分组的基础上进行聚合。所以如果使用by关键字,则之前必须使用order by ,并且分组的列和排序的列一致。如果不带by关键字,则是对整个结果集进行汇总。2、行聚合函数:count,max,min,sum,avg3、使用compu...原创 2020-01-04 16:17:22 · 7065 阅读 · 2 评论 -
SQL Server over()
--开窗函数over()不需要使用group by 就可以对数据进行分组。还可以同时返回基础行的所有列和聚合列。--over 函数 配合聚合函数(max、min、sum、avg、count等)或row_number等函数,可以在不改变原显示数据的情况下,--新增一列作为聚合函数的计算值;--group by 子句只能同聚合函数(max、min、sum、avg、count),对相关列进行分组,...原创 2020-01-03 19:42:23 · 2739 阅读 · 0 评论 -
T-SQL中的Vlookup
有两张表,结构如下图:原创 2014-10-19 17:22:57 · 1593 阅读 · 0 评论 -
过滤重复数据,保留最新一条记录。
需求是这样的:导出数据的时候过滤掉个提号重复的数据,只保留最新维护(最后一次添加)的那条。经网上查找资料,得知row_number() 可以实现。了解这个函数的使用,可看看这篇文章:https://blog.youkuaiyun.com/pan_junbiao/article/details/79941162里面讲解的很详细。我的实际应用,SQL语句如下:select u.userN...原创 2019-05-20 16:49:20 · 1240 阅读 · 0 评论 -
SQL语句中exists和in的区别
SQL语句中exists和in的区别--摘录自https://www.cnblogs.com/emilyyoucan/p/7833769.html当B表比A表数据大时,适合使用exists(),因为它没有那么遍历操作,只需要执行一次查询就行。如果A表有10000条记录,B表有1000000条记录,那么exists()会执行10000次去判断A表中的id是否与B表中的id相等。如果A表有1000...转载 2019-07-19 09:28:15 · 183 阅读 · 0 评论