-
SQL SERVER实现连接与合并查询
创建测试表MyStudentInfoCREATEtableMyStudentInfo(Idintnotnullprimarykey,Namevarchar(16),Ageint,Gendervarchar(2),Phonevarchar(16),Addressvarchar(50),GradeIdint)联合插入多条数据INSERTINTOMyStudentInfoSELECT1,'张三',20,'1','15801258912','上海',1UNIONSELECT2,'李四',22,'1','12345678901','北京',1UNIONSELECT3,'王五',16,'1','13976891234','天津',2UNIONSELECT4,'赵六',19,'1','18676891234','重庆',3UNIONSELECT5,'小红',21,'2','17776891234','广州',4UNIONSELECT6,'小王',25,'2','13176891234','深圳',5UNIONSELECT7,'小刘',18,'2','13374591234','南京',6UNIONS...
数据库操作教程 2022-09-23 18:25:58 -
SQLServer日期加减函数DATEDIFF与DATEADD用法分析
本文实例讲述了SQLServer日期加减函数DATEDIFF与DATEADD用法。分享给大家供大家参考,具体如下:SQLServer日期的加减函数:DATEDIFF DATEADDDATEDIFF:返回跨两个指定日期的日期边界数和时间边界数,语法:DATEDIFF(datepart,startdate,enddate)用enddate减去startdate注:datepart指定应在日期的哪一部分计算差额的参数,其日期相减时,只关注边界值,例:SELECTDATEDIFF(YEAR,'2008-12-31','2009-1-1')返回1DATEADD:返回给指定日期加上一个时间间隔后的新datetime值...
数据库操作教程 2022-09-23 18:24:39 -
SQLServer RANK() 排名函数的使用
本文主要介绍了SQLServerRANK()排名函数的使用,具体如下:--例子表数据SELECT*FROMtest;--统计分数SELECTname,SUM(achievement)achievementFROMtestGROUPBYname;--按统计分数做排行SELECTRANK()OVER(ORDERBYSUM(achievement)desc)排行,name,SUM(achievement)achievementFROMtestGROUPBYname;求助问答存储过程使用:USE[DB]GO/******Object:StoredProcedure[dbo].[sp_TodayJoinUser]ScriptDate:2021/1/2614:45:24******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:_Hey_Jude--Createdate:2021-01-26--Description:获取今日发表帮助/回复的新用户--...
数据库操作教程 2022-09-23 18:24:07 -
SQL Server中函数、存储过程与触发器的用法
一、函数函数分为(1)系统函数,(2)自定义函数。其中自定义函数又可以分为(1)标量值函数(返回单个值),(2)表值函数(返回查询结果)本文主要介绍自定义函数的使用...
数据库操作教程 2022-09-23 18:23:58 -
解决MybatisPlus SqlServer OFFSET 分页问题
目录问题错误源码重现找资料解决问题使用MybatisPlus连接SqlServer数据库,在分页的时候发生了如下的报错,sql语句和报错如下:Cause:com.microsoft.sqlserver.jdbc.SQLServerException:“@P0”附近有语法错误。...SQL:SELECT *FROMtb_admin OFFSET0ROWSFETCHNEXT15ROWSONLY错误源码重现依赖<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><!--SqlServer依赖--><dependency><groupId>com.microsoft....
数据库操作教程 2022-09-23 18:23:38 -
SQL Server数据表压缩
概述SQLServer的主要性能取决于磁盘I/O效率,SQLServer。2008提供了数据压缩功能来提高磁盘I/O效率...
数据库操作教程 2022-09-23 18:23:30 -
SQL Server中的文件和文件组介绍
文件和文件组简介在SQLServer中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已。SQLServer通过管理逻辑上的文件组的方式来管理文件...
数据库操作教程 2022-09-23 18:22:36 -
SQL Server格式转换函数Cast、Convert介绍
CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能...
数据库操作教程 2022-09-23 18:22:33 -
SQL Server删除表中的重复数据
添加示例数据createtableStudent(IDvarchar(10)notnull,Namevarchar(10)notnull,);insertintoStudentvalues('1','zhangs');insertintoStudentvalues('2','zhangs');insertintoStudentvalues('3','lisi');insertintoStudentvalues('4','lisi');insertintoStudentvalues('5','wangwu');删除Name重复多余的行,每个Name仅保留1行数据1、查询表中Name重复的数据selectNamefromStudentgroupbyNamehavingcount(Name)>12、有唯一列,通过唯一列最大或最小方式删除重复记录检查表中是否有主键或者唯一值的列,当前可以数据看到ID是唯一的,可以通过Name分组排除掉ID最大或最小的行deletefromStudentwhereNamein(selectNamefromStudentgroupbyNamehavingco...
数据库操作教程 2022-09-23 18:21:24 -
SQL解决未能删除约束问题drop constraint
问题如图:想要删除产品表的主键约束,但是报错创建的产品表:CREATETABLEPROVIDERS(PROVIDERIDINTNOTNULL,PROVIDERNAMENVARCHAR(50)NOTNULLPRIMARYKEY,#设置的主键PROVIDERCOMNAMENVARCHAR(20),PROVIDERCOMTITLENVARCHAR(10),PROVIDERADDNVARCHAR(50),PROVIDERACITYNVARCHAR(20),PROVIDERREGIONNVARCHAR(20),PROVIDERZIPNVARCHAR(10),PROVIDERCOUNTRYNVARCHAR(10),PROVIDERTELNVARCHAR(20),PROVIDERFAXNVARCHAR(20),PROVIDERWEBNVARCHAR(50)--CONSTRAINTPK_PROVNAMEPRIMARYKEY(PROVIDENAME))原因在于主键的名称写错了(主键后面有自带的随机数)--查看真正的主键名称EXECSP_HELPPROVIDERS那么为什么它的后面会有随机数呢...
数据库操作教程 2022-09-23 18:20:46 -
SQLServerParameterSniffing及其改进方法
SQLServer在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parametersniffing问题...
数据库操作教程 2022-09-23 18:20:15 -
SQLServer2012使用Offset/FetchNext实现分页数据查询
在SqlServer2012之前,实现分页主要是使用ROW_NUMBER(),在SQLServer2012,可以使用Offset...Rows FetchNext...Rowsonly的方式去实现分页数据查询。select[column1],[column2]...,[columnN]from[tableName]orderby[columnM]offset(pageIndex-1)*pageSizerowsfetchnextpageSizerowsonly上面代码中,column1,column2...columnN表示实现需要查询的列,tableName是表名,columnM是需要排序的列名,pageIndex是页码,pageSize是每页数据的大小,实际中一般是先计算(pageIndex-1)*pageSize的结果,然后在sql里直接使用具体的结果(数字)例如数据库中有T_Student表,数据如下: 假如需要查询第3页的数据(由于数据少,这里假设每页数据是2条,即pageSize=2),那么SQL语句如下:select[Id],[Name],[Studen...
数据库操作教程 2022-09-23 18:19:32