二、开发方面 1、Ranking函数集。 其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQL Server2005的row_number比Oracle的更先进。因为它把Order by集成到了一起,不用像Oracle那样还要用子查询进行封装。但是大家注意一点。如下面的例子: 会先执行aa的排序,然后再进行bb的排序。 可能有的朋友会抱怨集成的order by,其实如果使用ranking函数,Order by是少不了的。如果担心Order by会影响效率,可以为order by的字段建立聚集索引,查询计划会忽略order by 操作(因为本来就是排序的嘛)。 2、top。 可以动态传入参数,省却了动态SQL的拼写。 3、Apply。 对递归类的树遍历很有帮助。 4、CTE。 阅读清晰,非常有时代感。 5、try/catch。 代替了原来VB式的错误判断。比Oracle高级不少。 6、pivot/unpivot。 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为group by字段很容易造成新手的错误。 (责任编辑:admin) |