随笔分类 -  SQLServer:T-SQL语法

摘要:FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主. 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设... 阅读全文
posted @ 2015-01-22 16:31 Cat Qi 阅读(809) 评论(0) 推荐(0) 编辑
摘要:合并列值 --*******************************************************************************************表结构,数据如下: id value ----- ------ 1 aa 1 bb 2... 阅读全文
posted @ 2015-01-22 15:58 Cat Qi 阅读(59851) 评论(1) 推荐(1) 编辑
摘要:SQL Server2005新增crossapply 和outerapply 联接语句,增加这两个东东有啥作用呢?我们知道有个 SQL Server2000中有个crossjoin是用于交叉联接的。实际上增加crossapply 和outerapply 是用于交叉联接表值函数(返回表结果集的函数)的... 阅读全文
posted @ 2014-09-07 22:41 Cat Qi 阅读(3084) 评论(0) 推荐(0) 编辑
摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到tab... 阅读全文
posted @ 2014-08-31 15:40 Cat Qi 阅读(365) 评论(0) 推荐(0) 编辑
摘要:简介 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 视图简单的理解如下: 通过视图,客户端不再需要知道底层table的表结构及其之间的关系。视图提供... 阅读全文
posted @ 2014-08-15 16:13 Cat Qi 阅读(539) 评论(0) 推荐(1) 编辑
摘要:简介 对于SELECT查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可读,在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解的.但是,视图是作为系统对象存在数据库中,那对于结果集仅仅需要在存储过程或是用户自定义函数中使用一次的时候,使用视图就显得有些奢侈了. 公用表表达式(Co... 阅读全文
posted @ 2014-08-14 16:57 Cat Qi 阅读(427) 评论(0) 推荐(0) 编辑
摘要:简介 分区表是在SQL SERVER2005之后的版本引入的特性。这个特性允许把逻辑上的一个表在物理上分为很多部分。而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个表做union操作. 分区表在逻辑上是一个表,而物理上是多个表.这意味着从用户的角度来看,分区表和普... 阅读全文
posted @ 2014-08-14 11:40 Cat Qi 阅读(818) 评论(0) 推荐(0) 编辑
摘要:简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识。理解文件和文件组 在SQL SERVER中,通过文... 阅读全文
posted @ 2014-07-28 20:23 Cat Qi 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:开始 说临时表和表变量,这是一个古老的话题,我们在网上也找到很多的资料阐述两者的特征,优点与缺点。这里我们在SQL Server 2005\SQL Server 2008版本上通过举例子,说明临时表和表变量两者的一些特征,让我们对临时表和表变量有进一步的认识。在本章中,我们将从下面几个方面去进行描述... 阅读全文
posted @ 2014-07-22 16:15 Cat Qi 阅读(3563) 评论(0) 推荐(2) 编辑
摘要:一、表变量 表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用)。定义表变量的语句是和正常使用Create Table定义表语句的子集。只是... 阅读全文
posted @ 2014-07-22 13:51 Cat Qi 阅读(566) 评论(0) 推荐(0) 编辑
摘要:CAST和CONVERT都经常被使用。特别提取出来作为一篇文章,方便查找。 CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。 既然CONVERT包括了CAST的所有功能,而且CON... 阅读全文
posted @ 2014-07-22 11:12 Cat Qi 阅读(358) 评论(0) 推荐(0) 编辑
摘要:Sales.OrderValues是一个视图,在这里作为测试表。现在想实现,每个订单的数据行新增两个列,totalvalue(所有订单的总金额),custtotalvalue(当前订单的custid的所有订单的总金额)。select orderid,custid,sum(val) as val, ... 阅读全文
posted @ 2014-07-04 00:49 Cat Qi 阅读(506) 评论(0) 推荐(0) 编辑
摘要:表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 建表语句 插入测试数据语句 问题 问题描述: 本题用到下面三个关系表: CARD 借书卡。 CN 阅读全文
posted @ 2014-04-01 10:36 Cat Qi 阅读(161308) 评论(24) 推荐(32) 编辑
摘要:CASEWHEN 条件1 THEN 结果1WHEN 条件2 THEN 结果2WHEN 条件3 THEN 结果3WHEN 条件4 THEN 结果4.........WHEN 条件N THEN 结果NELSE 结果XENDCase具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHE 阅读全文
posted @ 2013-12-11 15:14 Cat Qi 阅读(1568) 评论(0) 推荐(0) 编辑
摘要:提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的。还可能会想到identity(1,1),它也给了一个序号,但是不能保证给出的序号是连续升序的。除非能够保证所有的Insert语句都能够正确成功地完成,并且没有删除操作,实际的使用中大多数的表都不能保证这样。好在SQL Server中提供了一些排名函数来辅助实现这些功能。排名函数按照需要的顺序对数据进行排名,并提供一个值对数据。下面来了解一下这些排序函数功能。 ROW_NUMBERROW_NUMBER函数允许以上升,连续的顺序给每一行数据一个序号,注意ROW_. 阅读全文
posted @ 2013-12-11 13:31 Cat Qi 阅读(661) 评论(0) 推荐(0) 编辑
摘要:在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表:WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL)我们先插入一些模拟数据:INSERT INTO WEEK_INCOME SELECT '星期一',1000UNION ALLSELECT '星期二',2000UNION ALLSELECT '星期三',3000UNION ALLSELECT '星期四',4000UNION ALLSELECT '星期五',5000UNION ALLSE 阅读全文
posted @ 2013-12-04 17:12 Cat Qi 阅读(1697) 评论(1) 推荐(1) 编辑
摘要:a表name sex张三 男李四 女b表name age李四 30王五 231 全外连接select a.name,a.sex,b.name,b.agefrom a full outer join b on a.name=b.name结果如下,name sex name age张三 男 NUL... 阅读全文
posted @ 2013-10-23 00:03 Cat Qi 阅读(457) 评论(0) 推荐(0) 编辑
摘要:在“高并发,海量数据,分布式,NoSql,云计算......”概念满天飞的年代,相信不少朋友都听说过甚至常与人提起“集群,负载均衡”等,但不是所有人都有机会真正接触到这些技术,也不是所有人都真正理解了这些“听起来很牛的”技术名词。下面简单解释一下吧。集群(Cluster) 所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。通俗一点来说,就是让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。 负载均衡(Load Balance)网络的负载均衡是一种动态均衡技术,常见的实.. 阅读全文
posted @ 2013-08-09 00:23 Cat Qi 阅读(2519) 评论(0) 推荐(3) 编辑
摘要:随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。一、负载均衡技术负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。1、实现原理实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具 阅读全文
posted @ 2013-08-08 23:36 Cat Qi 阅读(1959) 评论(0) 推荐(5) 编辑
摘要:文件缓存,数据库缓存,优化sql,数据分流,数据库表的横向和纵向划分,优化代码结构!锁述的概一. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致不可重复读A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致 阅读全文
posted @ 2013-08-07 00:00 Cat Qi 阅读(8871) 评论(0) 推荐(4) 编辑

点击右上角即可分享
微信分享提示