随笔分类 -  SQL SERVER

摘要:SQL语句的解析过程 由于最近需要做一些sql query性能提升的研究,因此研究了一下sql语句的解决过程。在园子里看了下,大家写了很多相关的文章,大家的侧重点各有不同。本文是我在看了各种资料后手机总结的,会详细的,一步一步的讲述一个sql语句的各个关键字的解析过程,欢迎大家互相学习。SQL语句的解析顺序简单的说一个sql语句是按照如下的顺序解析的:1. FROMFROM后面的表标识了这条语句要查询的数据源。和一些子句如,(1-J1)笛卡尔积,(1-J2)ON过滤,(1-J3)添加外部列,所要应用的对象。FROM过程之后会生成一个虚拟表VT1。(1-J1)笛卡尔积这个步骤会计算两个相关联表的 阅读全文
posted @ 2013-01-24 15:57 tangrongyue 阅读(432) 评论(0) 推荐(1)
摘要:select c.idkey,sum(c.totalMoney)from ((select b.rechargeway_idkey idkey, sum(b.payMoney) totalMoneyfrom mm_costMaster a left joinmm_memberPaymentWay bon a.idkey = b.costMaster_idkeywhere a.chargePerson ='chaos'and a.accountNo is null and (a.costStatus=1 or a.costStatus=3)and a.idkey = b.cost 阅读全文
posted @ 2012-10-10 11:22 tangrongyue 阅读(354) 评论(0) 推荐(0)
摘要:有以下两张表,Class表classid classname1 高三(一)班2 高三(二)班3 高三(三)班Student表studentid studentName classid1 张三 22 李四 13 王五 14 赵六 35 钱七 26 孙九 3score表scoreid course studentid score1 数学 2 992 数学 3 603 数学 4 804 语文 5 795 语文 6 586 语文 1 667 英语 6 768 英语 4 879 英语 3 10010 英语 2 69编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数SQL语句:i 阅读全文
posted @ 2012-09-01 18:38 tangrongyue 阅读(760) 评论(0) 推荐(0)
摘要:1.datetime类型转换为时间戳SELECT DATEDIFF(s, '19700101',GETDATE())注意:此转换结果是格林威治时间戳,所以若数据库存储的是当地时区的日期格式时间,那么需要减去八个小时,才是当地时区的时间戳。2.时间戳转化为datetime类型SELECT DATEADD(HH,8,DATEADD(S,1234567894,'19700101')) 阅读全文
posted @ 2012-08-26 09:47 tangrongyue 阅读(1829) 评论(0) 推荐(0)
摘要:SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如:select getdate()2004-09-12 11:06:08.177整理了一下SQL Server里面可能经常会用到的日期格式转换方法:举例如下:select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVE 阅读全文
posted @ 2012-08-26 09:14 tangrongyue 阅读(154) 评论(0) 推荐(0)
摘要:数据展示的分页处理时编程开发中常用的技术,而这次我负责开发报表模块所以使用分页很多。在分页的时候遇到一个问题,用索引主键进行分页,出现了无法跳页的情况,起初我怀疑表设计的有问题,或者表建立了索引,或者其他什么约束什么的对表的索引造成了影响,没想到是由于id排序因素导致,在我们用sql查询语言在数据库中提取数据时,提取的项不同,数据库返回数据的顺序也可能会不同。因为数据库的这种机制所以在使用数据库分页索引的时候必须要对索引的主键id进行排序select top 10 * from res_holewhere idnot in (select top 10 id from res_hole)如下对 阅读全文
posted @ 2012-07-19 16:33 tangrongyue 阅读(457) 评论(0) 推荐(0)
摘要:【原创】一、函数列表 [1.字符串函数]函数名描述举例CHARINDEX用来寻找一个指定的字符串在另一个字符串中的起始位置SELECT CHARINDEX('ACCP','My Accp Course',1 )返回:4LEN返回传递给它的字符串长度SELECT LEN('SQL Server课程')返回:12LOWER把传递给它的字符串转换为小写SELECT LOWER('SQL Server课程')返回:sql server课程UPPER把传递给它的字符串转换为大写SELECT UPPER('sql server课程&# 阅读全文
posted @ 2012-06-29 22:33 tangrongyue 阅读(300) 评论(0) 推荐(0)
摘要:fdsfsfsd 阅读全文
posted @ 2012-06-29 17:15 tangrongyue 阅读(384) 评论(0) 推荐(0)
摘要:今天开发任务稍微松缓一点,所以有时间在园里面看了几篇博客,看到有人写了sql语法汇总,开发过程中用数据库比较平凡,所以决定花点时间总结一下平时所学所用,也以便日后工作中不记得时查阅。T-sql也是一门查询语言,内容比较多,一时间无法全部总结全面,之后我会随着日后工作中常用的抽时间来一一总结。一、创建表与删除表 1.1代码1.创建表:create table Person5(Id int not null,Name nvarchar(50),Age int null)2.删除表:drop table person4; 1.2分析 1)create实现在代码中直接生成表,表的字段可以再表... 阅读全文
posted @ 2012-06-15 16:55 tangrongyue 阅读(286) 评论(0) 推荐(0)