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

2011年9月26日

摘要: 排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1.row_number 2.rank3.dense_rank4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:图1其中field1字段的类型是int,field2字段的类型是varchar一、row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:selectrow_number()over(orde. 阅读全文

posted @ 2011-09-26 18:05 yuanws 阅读(261) 评论(0) 推荐(0) 编辑

摘要: 先看如下一个数据表(t_tree):Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4 上图显示了一个表中的数据,这个表有三个字段:id、node_name、parent_id。实际上,这个表中保存了一个树型结构,分三层:省、市、区。其中id表示当前省、市或区的id号、node_name表示名称、parent_id表示节点的父节点的id。 现在有一个需求,要查询出某个省下面的所有市和区(查询结果包含省)。如果只使用SQL语句来实现,需要使用到游标、临时表等技术。但在SQL Server2005中还可以使用CTE来实现。 从这个需求来看 阅读全文

posted @ 2011-09-26 17:54 yuanws 阅读(167) 评论(0) 推荐(0) 编辑

摘要: 先看下面一个嵌套的查询语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select*fromperson.StateProvincewhereCountryRegionCodein(selectCountryRegionCodefromperson.CountryRegionwhereNamelike'C%') 上面的查询语句使用了一个子查询。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和 阅读全文

posted @ 2011-09-26 17:53 yuanws 阅读(164) 评论(0) 推荐(0) 编辑