jiangyuxuan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2016年2月12日

摘要: 为了最简单地说明问题,我特地设计了一张这样的表。 一、GROUP BY单值规则 规则1:单值规则,跟在SELECT后面的列表,对于每个分组来说,必须返回且仅仅返回一个值。 典型的表现就是跟在SELECT后面的列,如果没有使用聚合函数,必须出现在GROUP BY子句后面。 如下面这个查询报错: 因为对 阅读全文
posted @ 2016-02-12 12:38 江宇旋 阅读(455) 评论(0) 推荐(0) 编辑

摘要: 公用表表达式(CTE) 在编写T-SQL代码时,往往需要临时存储某些结果集。前面我们已经广泛使用和介绍了两种临时存储结果集的方法:临时表和表变量。除此之外,还可以使用公用表表达式的方法。公用表表达式(Common Table Expression)是SQL Server2005版本的引入的一个特性。 阅读全文
posted @ 2016-02-12 12:36 江宇旋 阅读(580) 评论(0) 推荐(0) 编辑

摘要: 嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。 嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父 阅读全文
posted @ 2016-02-12 12:34 江宇旋 阅读(1492) 评论(0) 推荐(1) 编辑

摘要: 操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。 表:Person_1魏国人物 表:Person_2蜀国人物 A、Union形成并集 Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。 1、限定条件 要是用 阅读全文
posted @ 2016-02-12 12:34 江宇旋 阅读(388) 评论(0) 推荐(0) 编辑

摘要: 一、关联子查询-查日期最新列 前天在工作中遇到一条非常有用的SQL语句,想了好久愣是没搞出来。今天将这个问题模拟出来:先看表 需求是,对于每个人,仅显示时间最新的那一条记录。 答案如下: select * from record as a where not exists (select null 阅读全文
posted @ 2016-02-12 12:33 江宇旋 阅读(415) 评论(0) 推荐(1) 编辑

摘要: 一、连接查询简介 连接查询中用来连接连个表的条件称为连接条件或连接谓词。其形式为: [<表1>].<列名1><连接运算符>[<表2>].<列2> 常见的连接运算符包括 1、比较运算符:=、>、<、>=、<=、!=、between和and。 2、逻辑运算符:not、and、or。 3、使用betwee 阅读全文
posted @ 2016-02-12 12:32 江宇旋 阅读(387) 评论(0) 推荐(0) 编辑

摘要: 表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化。因此如果查询语句不需要索引,就应该删除无用的索引以提高效率。 一、INSERT语句 1、基本插入语句 insert用于向表中输入数据,其具体的语法结构如下: INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可 阅读全文
posted @ 2016-02-12 12:31 江宇旋 阅读(387) 评论(0) 推荐(0) 编辑

摘要: select select_list [ into new_table ] from table_source [ where search_condition ] [ group by broup_by_expression ] [ having search_condition ] [order 阅读全文
posted @ 2016-02-12 12:27 江宇旋 阅读(455) 评论(0) 推荐(0) 编辑

摘要: 事务全部是关于原子性的。原子性的概念是指可以把一些事情当做一个单元来看待。从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合。为了理解事务的概念,需要能够定义非常明确的边界。事务要有非常明确的开始和结束点。SQL Server中的每一条SELECT、INSERT、UPDATE 阅读全文
posted @ 2016-02-12 12:21 江宇旋 阅读(393) 评论(0) 推荐(0) 编辑

摘要: SQL 存储过程入门(事务)(四) 本篇我们来讲一下事务处理技术。 为什么要使用事务呢,事务有什么用呢,举个例子。 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我们插入的顺序是先插入A,再插入B表,如果都顺利插入成功了,当然没有问题,如果任意一张表插入失败了,而另一 阅读全文
posted @ 2016-02-12 12:19 江宇旋 阅读(340) 评论(0) 推荐(0) 编辑

摘要: 原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫。所以花了点时间,把 SQL Server 数据库中的事务概念,ACID 原则,事务中常见的问题,问题造成的原因和事务隔离级别等这些方面的知识好好的整理 阅读全文
posted @ 2016-02-12 12:04 江宇旋 阅读(4538) 评论(0) 推荐(3) 编辑

摘要: 在这篇随笔中,我们的主要关注点在 Key-Range Lock。Key-Range Lock有 S-S、S-U、I-N、X-X几种情况。我们一个一个来说,力求明白。遗憾的是,这里可能会比较冗长,那么死锁分析只好依次顺延了。 Range S-S锁的获取规则 MSDN 对 Range 锁的规则有部分描述 阅读全文
posted @ 2016-02-12 10:33 江宇旋 阅读(284) 评论(0) 推荐(0) 编辑

摘要: 最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SELECT @findCount=COUNT(id) FROM MyTable WHERE [fk_related 阅读全文
posted @ 2016-02-12 10:32 江宇旋 阅读(266) 评论(0) 推荐(0) 编辑