-
sqlnotin与notexists使用中的细微差别
上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空 原因:notexists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里...
数据库操作教程 2022-09-23 17:04:50 -
SQLServer高级内容之子查询和表链接概述及使用
1.子查询概念(1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询。(2)自查询的分类1)独立子查询->独立单值(标量)子查询(=)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuID=(selectstuIDfromStudentwherestuName='Kencery')->独立多值子查询(in)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuIDin(selectstuIDfromStudentwherestuName='Kencery')2)相关子查询(3)写子查询的注意事项1)子查询用一个圆括号阔气,有必要的时候需要为表取别名,使用“as名字”即可...
数据库操作教程 2022-09-23 17:04:40 -
SQL的Join使用图解教程
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚...
数据库操作教程 2022-09-23 17:04:18 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
SQLServer使用Merge语句当源表数据集为空时,无法进行查询的问题
面举一个例子来具体说明一下:有两个表SourceTable为登陆表,TargetTable为授权表,如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客。sql语句如下:--SourceTable为登陆表,TargetTable为授权表--如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客...
数据库操作教程 2022-09-23 16:57:56 -
SQLServer2000中的触发器使用
下面我摘录了SQLServer官方教程中的一段关于触发器的文字,确实有用的一点文字描述。 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器...
数据库操作教程 2022-09-23 16:56:58 -
SqlServer触发器的使用
SqlServer为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是数据库中...
数据库操作教程 2022-09-23 16:56:42 -
SQL查询分析中使用net命令问题
在DOS命令下(或Bat文件)执行:netuse192.168.100.1ipc$ks-c-001-11/user:administratorCOPY192.168.100.1xmXMSALE_DBC.*c:temp/yCOPY192.168.100.1xmXMsale07.*c:temp/yCOPY192.168.100.1xmXMsale10.*c:temp/yCOPY192.168.100.1xmXMsale11.*c:temp/ynetuse192.168.100.1ipc$/del查询分析中下执行:1.使用xp_cmdshell,最好在命令前加上"master.dbo.",因为存储过程“xp_cmdshell”属于master数据库。2.在设置连接IPC时,"user:"和"用户名"之间还要加上连接的IP或电脑名称.一、使用IP地址连接--1.设置连接EXECmaster.dbo.xp_cmdshell'netuse192.168.100.1ipc$ks-c-001-11/user:192.168.100.1administrator'--2.执行dos命令EXECmaste...
数据库操作教程 2022-09-23 16:56:42 -
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
/*--1UNION运算符是将两个或更多查询的结果组合为单个结果集使用UNION组合查询的结果集有两个最基本的规则:1。所有查询中的列数和列的顺序必须相同...
数据库操作教程 2022-09-23 16:56:38 -
sqlconvert函数使用小结
CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.语句结果SELECTCONVERT(varchar(100),GETDATE(),0)071520094:06PMSELECTCONVERT(varchar(100),GETDATE(),1)07/15/09SELECTCONVERT(varchar(100),GETDATE(),2)09.07.15SELECTCONVERT(varchar(100),GETDATE(),3)15/07/09SELECTCONVERT(varchar(100),GETDATE(),4)15.07.09SELECTCONVERT(varchar(100),GETDATE(),5)15-07-09SELECTCONVERT(varchar(100),GETDATE(),6)150709SELECTCONVERT(...
数据库操作教程 2022-09-23 16:55:58 -
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXECsp_MSforeachtable@command1="print'?'DBCCCHECKTABLE('?')"系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQLServer的MASTER数据库中...
数据库操作教程 2022-09-23 16:54:56 -
使用SSIS创建同步数据库数据任务的方法
这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。IntegrationServices可以提取和转换来自多种源(如XML数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标...
数据库操作教程 2022-09-23 16:54:46