脱水读 >  天涯 >  我的大学 >  大家来学数据库(非学院派,实战派修炼法)

大家来学数据库(非学院派,实战派修炼法)

楼主:久依沙盘  时间:2019-08-15 20:16:11
如果希望9、10排到后面,就通过 isnull 函数,把空值转换成很大的值,保证大于正常的Z1值即可。这也算个小技巧吧。

楼主:久依沙盘  时间:2019-08-15 20:16:11
如果想变成从大到小,在字段名后面加 desc,desc 只对跟随的字段名有效,从小到大与从大到小可以混杂。粗一看有点小奇怪,为什么Z3没安排倒排,却也出现类似倒排的效果?在数据库中,在排序前,通过连接形成的记录,同一行(一条记录)各字段永远在一行,排序时同进同退,永不分离。排序时,写在前面的字段优先,再考虑写在后面的字段。

楼主:久依沙盘  时间:2019-08-15 20:16:11
给分组汇总加上条件,结果大不相同,想想为什么是这种结果?

楼主:久依沙盘  时间:2019-08-15 20:16:11
前面那个可能还觉得没啥用,这个看出什么奥秘了吗?

数据库里,一条记录里(同一行)计算使用公式很简单,跨记录(跨行)就比较麻烦了。理解了这个,你就打开了思路和想象空间。也就容易理解,为什么一直强调交叉连接是连接之母。

楼主:久依沙盘  时间:2019-08-15 20:16:11
25楼中,出现好像是本行Z1跟上一行SZ1相加的效果,这种效果在Excel里倒很容易做到。当然其原理跟Excel的公式完全不同。不管怎么说,数据库中同一条记录跨字段处理很方便,但跨记录,数值型可以用 sum 求和,文本型就没函数可用了。好在它提供了一种特殊方法实现文本的跨记录合并,请看效果:

这里,开始出现多语句,多语句增添了巨大的灵活性。有了多语句,就可以用declare定义变量,用 set/select 给变量赋值,有点像编程的味道了。注意变量定义后要先赋值,否则其初始值是空值,得到的结果也会是空值。

楼主:久依沙盘  时间:2019-08-15 20:16:11
我们借助8楼的技巧展示25楼的实现原理。25楼似乎清楚了,谁愿意讲讲这金字塔是怎么建造的?

楼主:久依沙盘  时间:2019-08-15 20:16:11
@久依沙盘 2019-08-15 07:16:23
我们借助8楼的技巧展示25楼的实现原理。25楼似乎清楚了,谁愿意讲讲这金字塔是怎么建造的?

-----------------------------
此处8楼笔误,应该是28楼。

楼主:久依沙盘

字数:4597

帖子分类:我的大学

发表时间:2019-08-06 01:38:06

更新时间:2019-08-15 20:16:11

评论数:30条评论

帖子来源:天涯  访问原帖

下载地址:TXT下载

 

推荐帖子

热门帖子

随机帖子