llopx

能跟您分享知识,是我的荣幸

2010年3月4日

SqlServer 2005 T-SQL Query 学习笔记(10)

摘要: 作者在这篇文章里再次展示了分组因数的使用技巧,上次是在NUM数组里取存在的范围,现在这个例子则显得更加贴近实际。 有下面的数据集: dt price 2006-08-01 00:00:00.000 13 2006-08-02 00:00:00.000 14 2006-08-03 00... 阅读全文

posted @ 2010-03-04 16:33 llopx 阅读(260) 评论(0) 推荐(0) 编辑

2010年2月26日

SqlServer 2005 T-SQL Query 学习笔记(9)

摘要: Tiebreakers情况:即在某一条件相同的情况下(比如GROUP BY),在数据表里找到根据另外几个条件(先后关系)的最大(最小)值。 作者展示了解决这样的问题的方法,这个方法的好处就是,不需要进行额外的INDEX的编码。 比如要达到这样一个查询: SELECT EmployeeID, MA... 阅读全文

posted @ 2010-02-26 10:29 llopx 阅读(348) 评论(0) 推荐(0) 编辑

2010年2月25日

SqlServer 2005 T-SQL Query 学习笔记(8)

摘要: OVER关键字允许你去请求基于窗口的计算,也就是,整个计算在一个查询窗口完成。 比如下面的例子: SELECT stor_id, ord_num, title_id, CONVERT(VARCHAR(10), ord_date, 120) AS ord_date, qty, CAST(1.*qty... 阅读全文

posted @ 2010-02-25 16:33 llopx 阅读(423) 评论(0) 推荐(0) 编辑

2010年2月24日

SqlServer 2005 T-SQL Query 学习笔记(7)

摘要: 介绍2个关键字的用法:EXCEPT,INTERSECT. EXCEPT 例子如下, TABLE1:1,2,3 TABLE2:3,4,5 TABLE1 EXCEPT TABLE2 结果为 1,2 TABLE2 EXCEPT TABLE1 结果为 4,5 原始实现(非关键字实现): SELECT Co... 阅读全文

posted @ 2010-02-24 11:47 llopx 阅读(344) 评论(0) 推荐(0) 编辑

2010年2月23日

SqlServer 2005 T-SQL Query 学习笔记(6)

摘要: JOIN关键字所起的效果最先并不是使用JOIN来做到的,ANSI SQL:1989所采用以下的格式: FROM T1, T2 WHERE where_filter 同时LEFT JOIN和RIGHT JOIN是使用*=和=*来起到相同作用。 到了ANSI SQL:1992,就出现了JOIN: F... 阅读全文

posted @ 2010-02-23 11:24 llopx 阅读(324) 评论(0) 推荐(2) 编辑

2010年2月21日

SqlServer 2005 T-SQL Query 学习笔记(5)

摘要: 作者提供了一种计算出数据存在的范围和缺少的范围的方法,他提醒我们要注意这些技术本身,而不仅仅是数据。 我们有一个数据列如下:1,2,3,100,101,103,104,105,106 返回结果1(丢失的范围): start_range end_range 4----------99 102---... 阅读全文

posted @ 2010-02-21 13:07 llopx 阅读(409) 评论(1) 推荐(0) 编辑

2010年2月18日

SqlServer 2005 T-SQL Query 学习笔记(4)

摘要: 作者他很喜欢建立数字辅助表(即是1-N的数字按顺序组成的表),关于如何建立这些辅助表,然后他给了一些例子,这些例子很有代表性。 比如,我要建立一个1,000,000行的数字表: CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY); DECLARE @... 阅读全文

posted @ 2010-02-18 21:24 llopx 阅读(326) 评论(0) 推荐(0) 编辑

SqlServer 2005 T-SQL Query 学习笔记(3)

摘要: 利用ROW_NUMBER()进行高效率的分页。 AD HOC PAGING: 就是指用页面的序号和页面的大小请求一个单独的页面。下面是例子。 DECLARE @pagesize AS INT, @pagenum AS INT; SET @pagesize = 5; SET @pagenum = ... 阅读全文

posted @ 2010-02-18 00:05 llopx 阅读(280) 评论(0) 推荐(0) 编辑

2010年2月8日

SqlServer 2005 T-SQL Query 学习笔记(2)

摘要: SQL2005增加了4个关于队计算的函数:分别是ROW_NUMBER,RANK,DENSE_RANK,NTILE. 注意:这些函数只能出现在SELECT和ORDER BY的查询中。语法如下: ranking_function over([partition by col_list] order b... 阅读全文

posted @ 2010-02-08 17:36 llopx 阅读(320) 评论(0) 推荐(0) 编辑

2010年1月30日

SqlServer 2005 T-SQL Query 学习笔记(1)

摘要: Select字句在逻辑上是SQL语句最后进行处理的最后一步,所以,以下查询会发生错误: SELECT YEAR(OrderDate) AS OrderYear, COUNT(DISTINCT CustomerID) AS NumCusts FROM dbo.Orders GROUP BY Order... 阅读全文

posted @ 2010-01-30 16:35 llopx 阅读(387) 评论(0) 推荐(0) 编辑

导航