SQL查询艺术(T-SQL)
SQL查询艺术(T-SQL)
引言好久没写技术文章了,准备了许久,终于开始动工了。
笔者从事SQL Server编程开发7年,技术上算不得很高,在开发上也算得上经验丰富吧。 这一套文章总结了笔者多年开发中的集累, 也参考了不少技术书籍和CSDN论坛上众多高人的经验分享。
这不是一系列语法教程,建议有一定基础的朋友参考。这也不是一套大而全的教程,应该说是一系列零散文章以关系逻辑为主线的有机组合。
大纲 1, 语法 语法与提醒
基础释疑
解题招式
2, 关系逻辑 逻辑基础
逻辑题小例子
空间想像
3, XQuery XML基础知识
XQuery
关系逻辑中的Xquery
4, 编程 结构组织
性能调优(代码级)
5, 综合解题举例对于逻辑,大多数人都认为所指为业务逻辑。在这里我希望能以我的观点区别一下:
业务逻辑是需求,需求需要做到怎样,我们在编程中流程应该怎么跑。
关系逻辑是比业务逻辑更细小的单位,在满足业务逻辑的基础上写查询时,看你的脑子怎么转。
关系逻辑是本套文章整个系列的重点,T-SQL Query一书很好,看了之后我受益非浅,在书的附录里也有很多不错的逻辑题, 但我觉得有一个问题,那就是这本书还是比较侧重于从语法层面讲命令的使用,当然也有内部的执行逻辑和调优方面的知识,总觉得缺了些什么,那就是我在这系列里要说的我们写查询时大脑中的关系逻辑, 或者说书里也有在讲关系逻辑但没有讲到分析关系逻辑问题的方法。 如果说本套文章是对T-SQL Query的补充,那么我只能笑自己太抬举自己了, 只是希望籍此引发更多朋友的思考,脑,是越用越灵的。当然有大牛专门出关于这方面的书的话,那么我肯定会买的。
诚然,逻辑能力,是需要长时间培养的,靠读几页书想获的很大的提高,显然不实际,本套文章也不列外, 如果看完此套,有一些朋友在写查询时愿意多去考滤逻辑,有了更简洁的,更符要求的查询,那么本套文章的目的也就达到了。
对于为什么还要在第一部分讲语法,我想这个就必多说了,对一些语法特性不了解,不可能写出简洁的,高效的查询,关系逻辑更无从谈起。
第二部分,无疑是本套的重点。本套主要以T-SQL 为主(这里指SQL Server。 当然,Sybase也是用T-sql,但语法有差异,特别是内部的执行,差别很大,在需要的地方,我会注明), 对于关系逻辑来说,各种数据库都一样(就像一个算法,用C++, Basic, Java都可以实现一样), 只是换套语法, 在需要的地方,也会给出其它数据库下的写法的参考。
XQuery为什么提出来放在这里?其实如果你不感兴趣的话,这一章也可以略过,实际上,在你的系统中也完全可以不用到它。但有兴趣有精力的话,还是建议看看,至少因为XML越来越流行(尽管可能在你的系统中用处并不大), 也可能因为你的系统中用到了XML类型,这时你就可能无法避开它。同时,对于一些解题,运用它也可能简化你的逻辑或写法。
结构组织,从侧重上来说,也跟T-SQL Program一书一样,只不过不讲那么多,只是说说在组织一段代码时,怎么样可能好些。 至于性能调优涉及面太广,从系统架构,到网络设施,从硬件配置到库结构设计…在这里,我们只谈查询怎么写可能获得更好的性能。
在这里特别强调,在这一部分之前,前面几部分都侧重讲关系逻辑,可能需要的是更优秀的逻辑,而不是最好的性能,也即是说,前几部分侧重逻辑,不关注性能。
但愿读完此文,你能和我有一样的感受:关系逻辑如此奇妙
未完等续..
后续文章组织中..
此文的更新请关注
blog.csdn.net/fcuandy
------解决方案--------------------沙发
------解决方案--------------------学习!期待...
------解决方案--------------------学习
------解决方案--------------------感谢FC的分享
留名
------解决方案--------------------楼主 fcuandy 辛苦 了。
------解决方案--------------------好熟悉的书名
------解决方案--------------------学习
------解决方案--------------------學習.
------解决方案--------------------关注!
------解决方案--------------------顶顾兄
------解决方案--------------------关注!
------解决方案--------------------fc 你要写书啊
------解决方案--------------------关注
------解决方案--------------------FC是强人
------解决方案--------------------关注
------解决方案--------------------一定要顶。
------解决方案--------------------SQL code
关注.
------解决方案--------------------
要出书吗? 出了书我肯定买。。。绝对支持~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------解决方案--------------------