-
浅述SQLServer的聚焦强制索引查询条件和ColumnstoreIndex
前言本节我们再来穿插讲讲索引知识,后续再讲数据类型中的日期类型,简短的内容,深入的理解。强制索引查询条件前面我们也讲了一点强制索引查询的知识,本节我们再来完整的讲述下(1)SQLServer使用默认索引USETSQL2012GOSELECT*FROMSales.Orders上述就不用我再啰嗦了,使用默认主键创建的聚集索引来执行查询执行计划...
数据库操作教程 2022-09-23 17:59:34 -
SQL语句的并集UNION交集JOIN(内连接,外连接)等介绍
1.a.并集UNIONSELECTcolumn1,column2FROMtable1UNIONSELECTcolumn1,column2FROMtable2b.交集JOINSELECT*FROMtable1ASaJOINtable2bONa.name=b.namec.差集NOTINSELECT*FROMtable1WHEREnameNOTIN(SELECTnameFROMtable2)d.笛卡尔积SELECT*FROMtable1CROSSJOINtable2与SELECT*FROMtable1,table2相同2.SQL中的UNION与UNIONALL的区别是,前者会去除重复的条目,后者会仍旧保留。a.UNIONSQLStatement1UNIONSQLStatement2b.UNIONALLSQLStatement1UNIONALLSQLStatement23.SQL中的各种JOINSQL中的连接可以分为内连接,外连接,以及交叉连接(即是笛卡尔积)a.交叉连接CROSSJOIN如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;举例S...
数据库操作教程 2022-09-23 17:57:30 -
sqlserver四舍五入使用round函数及cast和convert函数
引言 今天和测试沟通一个百分比计算方式时遇到一个问题,我在存储过程里用到了强转CAST(32.678ASDECIMAL(5,1)) 我认为该方式只会保留一位小数,我给测试的回复是我并没有用到四舍五入函数,数据也没有四舍五入,而测试说他们自己验证后觉的数据是经过四舍五入了的。想到这里于是我再试了试存储过程的每个计算点,才发现了这个问题...
数据库操作教程 2022-09-23 17:54:55 -
Ubuntu14.04下mysql安装配置教程
mysql是Oracle公司的一种开放源代码的关系型数据库管理系统,被广泛应用于各中小网站,是一种跨平台的数据库管理系统,现在介绍一下如何在Ubuntu14.04上安装和配置mysql方法/步骤1、更新源列表打开"终端窗口",输入"sudoapt-getupdate"-->回车-->"输入root用户的密码"-->回车,就可以了。如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-getupdate------"的错误提示,导致无法安装...
数据库操作教程 2022-09-23 17:54:16 -
mssqlserver中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
直接上代码:CREATEFUNCTIONUNIX_TIMESTAMP(@ctimestampdatetime)RETURNSintegerASBEGIN/*Functionbody*/declare@returnintegerSELECT@return=DATEDIFF(SECOND,{d'1970-01-01'},@ctimestamp)return@returnENDCREATEFUNCTIONfrom_unixtime(@tsinteger)RETURNSdatetimeASBEGIN/*Functionbody*/declare@returndatetimeselect@return=DATEADD(second,@ts,{d'1970-01-01'})return@returnEND用法跟MySQL下的一样类似:selectdbo.UNIX_TIMESTAMP('2013-1-1')selectdbo...
数据库操作教程 2022-09-23 17:47:59 -
详解SQL中drop、delete和truncate的异同
第一:相同点: truncate和不带where子句的delete,以及drop都会删除表内的数据第二:不同点:1.truncate和delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。2.delete语句是数据库操作语言(dml),这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发...
数据库操作教程 2022-09-23 17:43:38 -
实例理解SQL中truncate和delete的区别
本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下---创建表Table1IFOBJECT_ID('Table1','U')ISNOTNULLDROPTABLETable1GOCREATETABLETable1(IDINTNOTNULL,FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable1VALUES(1,101),(2,102),(3,103),(4,104)GO---创建表Table2IFOBJECT_ID('Table2','U')ISNOTNULLDROPTABLETable2GOCREATETABLETable2(FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable2VALUES(101),(102),(103),(104)GOSELECT*FROMTable1GOSELECT*FROMTable2GO在Table1表中创建触发器,当表中的数据被删除时同时删除Table2表中对应的FOIDCREATETRIGGERTG_Table1ONTable1AFTERDELET...
数据库操作教程 2022-09-23 17:42:41 -
人工智能自动sql优化工具--SQLTuningforSQLServer
针对这种情况,人工智能自动SQL优化工具应运而生。现在我就向大家介绍这样一款工具:SQLTuningforSQLServer...
数据库操作教程 2022-09-23 17:36:35 -
sp_executesql使用复杂的Unicode表达式错误的解决方法
Msg102,Level15,State1,Line3Incorrectsyntaxnear'+'.当你尝试执行下面这段代码时,会得到如上这个错误提示。复制代码代码如下:DECLARE@MyNameNVARCHAR(100)DECLARE@FieldNameSYSNAME=N'Name'EXECUTEsp_executesqlN'SELECTTOP1@OutputName=['+@FieldName+']FROM[dbo].[Member]',N'@OutputNameNVARCHAR(100)OUTPUT',@MyNameOUTPUT;SELECT@MyName问题出于不允许使用更复杂的Unicode表达式(例如使用+运算符连接两个字符串)...
数据库操作教程 2022-09-23 17:28:34 -
解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
今天用excel导入数据又遇到了…… 错误0xc02020f6:数据流任务:列“column”无法在unicode和非unicode字符串数据类型之间转换。 原因:仔细看了一下,发现有些字段是varchar的,而excel中估计都是nvarchar类型...
数据库操作教程 2022-09-23 17:26:22 -
SqlServer2012中First_Value函数简单分析
First_Value返回结果集中某列第一条数据的值,跟TOP1效果一样,比较简单的一个函数先贴测试用代码DECLARE@TestDataTABLE(IDINTIDENTITY(1,1),DepartmentVARCHAR(20),LastNameVARCHAR(20),RateFLOAT)INSERTINTO@TestData(Department,LastName,Rate)SELECT'DocumentControl','Arifin',17.7885UNIONALLSELECT'DocumentControl','Norred',16...
数据库操作教程 2022-09-23 17:25:59 -
sqlserver中Selectcount(*)和Count(1)的区别和执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 17:25:26