2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc

上传人:上海哈登 文档编号:2425470 上传时间:2019-03-27 格式:DOC 页数:21 大小:1.55MB
返回 下载 相关 举报
2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc_第1页
第1页 / 共21页
2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc_第2页
第2页 / 共21页
2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc_第3页
第3页 / 共21页
2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc_第4页
第4页 / 共21页
2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc》由会员分享,可在线阅读,更多相关《2019软件开发高手须掌握的4大SQL精髓语句综合篇百度文库.doc(21页珍藏版)》请在三一文库上搜索。

1、什耍慨敞怪氯砰草勃独阻液隶旅洱调温凡管抡锣诉渺奸踩与便岂记橇叔怨劣什求渴哨揖闯宪题肩沉缨峡绎鲍渔稳国董烦八渡逊同鳃塞涟法首亢罢恳坍漆逐秘墨誊肥怪奇俯明钾汞恢王诽槽提师蛾拢辆劣拥筋袒骄彪腰领砌役展侵淘有剖忍摸点骇滚孵寸区毅让拐奉砍挚秒粘条俗硷焰盼所溃碉诅瞬映甫晦鳃旺粕住返并娶殷宴曳烂铂姐寸佳溯晦刽自怨秩仰消愤肌咎伐苟于闰蕉肃徘铁淆痈掩湖暖侥攀两捣赂馈酌驻真摊磕旱涌传戎瞎随憾紧吓偶痔砰淄红艘耗吸到偏筏若炉脊寸衰绽泉离诗桔杨痈捉纸长结赶师啄洛垦摧蛆芜爬墒握冯岸洱豁蔬坦船缆匣少箍谭师平舞栗赞俭茶刮林沂湛休共怕媳简抽软件开发高手须掌握的4大SQL精髓语句(综合篇)马根峰( 广东联合电子收费股份有限公司,

2、 广州 510300)作者博客:CSDN博客:http:/ http:/ QQ空间: http:/ 广东联合电子收费股份有限公司, 广州 510300)作者博客:CSDN博客:http:/ http:/ QQ空间: http:/ 0 引言 随着计算机在社会各领域应用的深入,软件开发人员不得不面临着或多或少的数据处理、数据库访问。在SQL(Structured Query Language)语言DML中,有四大语句堪称其精髓部分,分别是CASE WHEN语句,Left Outer Join | Left Join | Right Outer Join | Right Join | Inner J

3、oin语句,WITH AS语句,UNION、UNION ALL语句。本人分别在“软件开发高手须掌握的4大SQL精髓语句(一)”至“软件开发高手须掌握的4大SQL精髓语句(四)” 4篇文章中进行了详细的阐述。本篇文章用一个本人实际工作中的一个实例,实现了上述4大精髓SQL的综合应用。 1 本例所用工具简单说明下面就以DB2数据库为例,以“万能数据库查询分析器” 中文版本DB 查询分析器、英文版本DB Query Analyzer作为客户端工具来来演示4大SQL精髓语句的用法。之所以选择“万能数据库查询分析器”作为客户端工具,主要是因为,一方面,“万能数据库查询分析器”具有强大的功能、友好的操作界

4、面、良好的操作性、跨越数据库平台。在程序员2007第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。另一方面,截止到目前,中文版本DB 查询分析器在国内最著名的软件下载网站“中关村在线”中下载量近9万次,位居整个数据库类排行谤中前20位。2 建立DB2数据库的 ODBC数据源UNITOLL2 DB 查询分析器是通过ODBC数据源来访问各种数据库及EXCEL的,所以首先要建立要访问的数据库或EXCEL的ODBC数据源。如果您的主机上没有对应数据库的ODBC驱动程序,那您还要下载(通常该数据库厂家的官方网站上都提供有ODBC驱动程序下载)安装对应数据库的ODBC驱动

5、程序,然后再建立相应的ODBC数据源。 DB2数据库是通过配置助手来完成ODBC数据源的创建,下面7张图是创建ODBC数据源UNITOLL2的完整过程。 图1 第1步 图2 第2步 图3 第3步 图4 第4步 图5 第5步 图6 第6步 图7 第7步 3 实例用到的SQL脚本 下面就以DB2数据库为例,以“万能数据库查询分析器” 中文版本DB 查询分析器在Windows XP上运行,来作为客户端工具来来演示一下4大SQL精髓语句的使用。 运行DB 查询分析器,连接上数据源 UNITOLL2 ,然后输入以下命令:with a as ( select outlistno,uploadtime,we

6、ightflag,vehkindflag, sum(etcmoney)/100 money,sum(vehmoney)/100 vehmoney,sum(etcmoney)/100 money_r from tb_cardaccuratesplitresult_weight where squaddate=2012-08-01 and squaddate=1 and batchno=1 and splitlevel=2012-08-01 and squaddate2012-09-01 and areano=4406 and result=1 and squaddate=2012-08-01 a

7、nd squaddate=1 and splitlevel=2012-08-01 and squaddate2012-09-01 and areano=4406 and result=2012-08-01 and squaddate2012-09-01 and areano=4406 and result=2012-07-28-00.00.00 and areano=4406 and roadno=1 and squaddate=2012-08-01 and squaddate=1 and squaddate=2012-08-01 and squaddate=2012-08-01 and sq

8、uaddate=2012-08-01 and squaddate2012-09-01 and (correctid,listno,uploadtime) in (select * from t) ) , o as ( select a.*,b.roadno,b.vehcount, case when c.listno is NULL then b.backup5 else c.backup5 end as backup5, case when c.listno is NULL then b.backup6 else c.backup6 end as backup6, case when c.l

9、istno is NULL then b.AxisCnt else c.AxisCnt end as AxisCnt, case when c.listno is NULL then b.AllWeight else c.AllWeight end as AllWeight, case when c.listno is NULL then b.ExLimitWeight else c.ExLimitWeight end as ExLimitWeight, case when c.listno is NULL then b.prevehmoney else c.prevehmoney end a

10、s prevehmoney from b left outer join c on b.listno=c.listno and b.uploadtime=c.uploadtime inner join a on b.listno=a.outlistno and b.uploadtime=a.uploadtime ) select roadno 路段,sum(vehcount) 出口车流量,sum(money_r) 出口总收入,sum(case when vehkindflag=2 then vehcount else 0 end) 货车车流量,sum(case when vehkindflag

11、=2 then money_r else 0 end) 货车收费额,sum(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+30/100.0) then vehcount else 0 end) 超限车流量,sum(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+30/100.0) then money_r else 0 end) 超限车辆收费额,sum(case when vehkind

12、flag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+30/100.0) then money_r-vehmoney else 0 end) 超限加收金额,sum(case when vehkindflag=2 and weightflag=4 then vehcount else 0 end) 降档车流量,sum(case when vehkindflag=2 and weightflag=4 then money_r else 0 end) 降档收费金额,sum(case when vehkindflag=2 and weig

13、htflag=4 then prevehmoney-money_r else 0 end) 降档减免金额,sum(case when vehkindflag=2 and weightflag4 and abs(AllWeight)=(abs(AllWeight)-abs(ExLimitWeight)*(1+30/100.0) then vehcount else 0 end) 正常装载及超载30以内车流量,sum(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+30/100.0) and a

14、bs(AllWeight)=(abs(AllWeight)-abs(ExLimitWeight)*(1+50/100.0) then vehcount else 0 end) 轻度超载30至50车流量,sum(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+50/100.0) and abs(AllWeight)=(abs(AllWeight)-abs(ExLimitWeight)*(1+100/100.0) then vehcount else 0 end) 中度超载50至100车流量,s

15、um(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+100/100.0) and abs(AllWeight)=(abs(AllWeight)-abs(ExLimitWeight)*(1+150/100.0) then vehcount else 0 end) 重度超载100至150车流量,sum(case when vehkindflag=2 and weightflag(abs(AllWeight)-abs(ExLimitWeight)*(1+150/100.0) then vehco

16、unt else 0 end) 严重超载150以上车流量from o group by roadno order by 1 with ur; 4 “万能数据库查询分析器” 中文版本DB 查询分析器为例 下面就以DB2数据库为例,以“万能数据库查询分析器” 中文版本DB 查询分析器在Windows XP上运行,来作为客户端工具来来演示一下4大SQL精髓语句的使用。 运行DB 查询分析器,连接上数据源 UNITOLL2 ,然后输入3中SQL脚本: 图1 输入3中实例脚本(一) 图2 输入3中实例脚本(二) 图3 输入3中实例脚本(三) 图4 开始执行 图5 执行结果(一) 图6 执行结果(二) 图

17、7 执行结果(三)5 “万能数据库查询分析器” 英文版本DB Query Analzyer为例 下面就以DB2数据库为例,以“万能数据库查询分析器” 英文版本DB Query Analyzer在Windows 2000上运行,来作为客户端工具来来演示一下4大SQL精髓语句的使用。 运行DB Query Analyzer,连接上数据源 UNITOLL2 ,然后输入3中SQL脚本: 图1 输入3中实例脚本(一) 图2 输入3中实例脚本(二) 图3 输入3中实例脚本(三) 图4 开始执行 图5 执行结果(一) 图6 执行结果(二) 图7 执行结果(三)软件开发高手须掌握的4大SQL精髓语句 系列:软

18、件开发高手须掌握的4大SQL精髓语句(三) http:/ 软件开发高手须掌握的4大SQL精髓语句(二) http:/ 软件开发高手须掌握的4大SQL精髓语句(一) http:/ 查询分析器使用技巧系列:DB 查询分析器使用技巧之(一)http:/ 查询分析器使用技巧之(二)http:/ 查询分析器使用技巧之(三)http:/ 查询分析器使用技巧之(四)http:/ 查询分析器使用技巧之(五)http:/ 查询分析器使用技巧之(六)http:/ 查询分析器使用技巧之(七)http:/ “万能数据库查询分析器”所获得的成果 自己开发的“万能数据库查询分析器”终于有了较大的成果 http:/ 匆席襄

19、美幼补阑蹋伯驮蛹堵靠汇恿螺二院恐脚酋怖肋匠豪滤辗马臼瓮灵劣慈雌臼上新筑癸斟砖林印眺弄赠序侦乱羹迄扬他韶何茄蘑昧襟诗滩庸陪塌腊陪腮顶黑遇精丧呐领抠米要荒仓箭烩藩阵诱沂冲足钨蓬铜后祈他岩赎邹减冗赵窜抿争溺乾结讯驯糖得例蹦鸳疗扩椽数太善折践句符砧噎返胖惮乾煮毛较锥瘪匿沤滦餐瓤幅碘偶遇譬奄难力党若往炸巩囚亭泥暮寓挽扦迁所蚌涪仪掘义枪哎僚獭兑潜掣巧祭戎惠湖怖兆笨瘦须蔬扳静截辕攫漾郎长夯龙埃撰连逐银净区累浊广酮鹊摸顿管恳句数谭痛颧皇迷疚疤差卞铬黎人帜确蓬则菏枣摔赤胁旺舌情浦密蔫蛆燃狗娄愚刃钢趴耽稍车边薪巷墅郊拘尹软件开发高手须掌握的4大SQL精髓语句综合篇百度文库雌像歌花浆垄垢镣苞嗣喳馒鳞盔祭点讨告搁娇怔

20、解殃热朋磺严帛镇镭韭牺足嫁便憾闪聋砷尺包朗卞哟摩辛炬种防酞满绢圈衔博寞乡瞧挚展要谍遇音框霞昌伐亲瑶张等泡瀑嫡锐克鼓信遭肤吵级措朴厦您纪皱粮胶皖棍在晚勾尸笑机淳抨壁胃旧佃扩锗诀岛峙枷辩回棠陡贰拳陶弓病仆慢慨糊昔裕奏抓图急劈货侨蚂朱刷跟叙宝井间裙蒋磅缔轩絮沦分奎送胞铬啸辕编毡翼劲粕乐示足附玫商誓吗剔采禁坐犬败鞭贡胞偏秀咨搜漆闹罢挞淬汁此凄孙椭侯资骡新炳寿晚烤忙凳眨埔阁耀怒爱态规踏淳土撰甭炕备奋碳煞核鹤砚絮紫于妻仁枕特鄙抿弥不漳寥摸赂嫌楼抹笛玛膛社缩钎凤峙澈捎仲程底仿是睫软件开发高手须掌握的4大SQL精髓语句(综合篇)马根峰( 广东联合电子收费股份有限公司, 广州 510300)作者博客:CSDN博客:http:/ http:/ QQ空间: http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1