软件开发顶尖高手的杀手锏SQL语句

news/2024/11/19 3:35:58/


               软件开发顶尖高手的杀手锏SQL语句
                                
                                      马根峰

                   (广东联合电子服务股份有限公司广州 510300)

  

  

摘要      SQLStructured Query Language)语言DML中,有四大语句堪称其精髓部分。本人分别在“软件开发高手须掌握的4SQL精髓语句(一)”至“软件开发高手须掌握的4SQL精髓语句(四)”  4篇文章中进行了详细的阐述。而在“软件开发高手须掌握的4SQL精髓语句(综合篇)”文章中,则用以上4SQL精髓语句结合起来解决一个非常复杂的实际问题,最终在CSDN博客上获得了不同寻常的11000 多次访问量

其实,还有一条SQL语句堪称软件开发顶尖高手的杀手锏。不客气地说,大部分软件开发人员估计一辈子也不会有机会在工作中遇到这样的机会来使用它。这就是“全外连接”(Full Outer Join)。本文通过工作中的一个实例,以“万能数据库查询分析器”的中文版本《DB 查询分析器》为工具,来访问自己创建的数据库中的相关表,来展示整个问题的解决过程。

关键词     万能数据库查询分析器; DB 查询分析器;全外连接; Full Outer Join

 

 

 

0   引言 

随着计算机在社会各领域应用的深入,软件开发人员不得不面临着或多或少的数据处理、数据库访问。

SQLStructuredQuery Language)语言DML中,有四大语句堪称其精髓部分,分别是CASE WHEN语句,Left Outer Join |  Left Join | Right Outer Join |  Right Join |  Inner Join语句,WITH AS语句,UNIONUNION ALL语句。

本人分别在“软件开发高手须掌握的4SQL精髓语句(一)”至“软件开发高手须掌握的4SQL精髓语句(四)”  4篇文章中进行了详细的阐述。而在“软件开发高手须掌握的4SQL精髓语句(综合篇)”文章中,则用以上4SQL精髓语句结合起来解决一个非常复杂的实际问题,最终在CSDN博客上获得了不同寻常的11000多次访问量。

其实,还有一条SQL语句堪称软件开发顶尖高手的杀手锏。不客气地说,大部分软件开发人员估计一辈子也不会有机会在工作中遇到这样的机会来使用它。这就是“全外连接”(Full Outer Join)

全外连接(Full Outer Join),即包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。它在揭示事物内在存在的联系方面,有着无法替代的作用。

语法如下:

SELECT <</FONT>要选择的字段>

FROM table1

FULL OUTER JOIN table2

[On  规则>]

 

 

1   本例所用工具简单说明

下面就以MS SQL Server数据库为例,以“万能数据库查询分析器” 中文版本《DB 查询分析器》作为客户端工具来举例说明“全外连接”(Full Outer Join)的使用

中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。

你可以通过它查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回。从数据库导出千万条数据时,效率与DBMS没有什么区别。

DB 查询分析器》在中关村在线(http://xiazai.zol.com.cn/detail/27/264455.shtml 下载量超过 9.5 次,位居整个数据库类排行榜中20

在《程序员》20072期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。

本人还撰写了关于“万能数据库查询分析器”有关技术的63篇文章,发布在《电脑编程技巧与维护》、《软件》、《计算机时代》、《电脑编程技巧与维护》、百度文库、CSDN资源、和本人的四大博客上(CSDN博客、新浪博客、QQ空间和搜狐博客上)。

 

  

2   要解决的问题

本人所在公司(以下简称专营公司)是经政府授权专门从事于高速公路的联网收费结算业务。对高速公路联网收费的通行记录进行拆账,将整条收费记录的金额拆分给所经过的高速公路公司。而另外一家公司替某些高速公路公司建立了一个数据平台,功能之一也是拆账。最后,这家公司的项目验收时,高速公路公司发现数据平台与专营公司之间许多通行记录拆的账不同。

于是高速公路公司就让我司来查证此事。

本人经过多方面考虑,最终决定通过不同的粒度来分析两者之间的差异,粒度最高数据级别来统计分析路段间拆分的总体账目,关系模式:  路段间拆分(折分路段,收入路段,金额);而粒度最低的数据级别则来统计分析每一条通行记录间的拆分差别,关系模式:流水拆分(流水号,收入路段,收入金额,平台流水号,平台收入路段,平台收入金额)。

对于细节级数据的生成,本人采用了“全外连接”(Full Outer Join)

 

 

3   具体实例图示详解

DB 查询分析器》是通过ODBC数据源来访问各种数据库及EXCEL的,所以首先要建立要访问的数据库或EXCELODBC数据源。本文就不再讲述创建ODBC数据源的过程。

   数据库中有关表说明:

dbo.SplitResultList 平台流水拆分表

dbo.SplitResultList_stat 平流水拆分综合表

dbo. TB_CASHACCURATESPLITRESULT1 专营公司流水拆分表

dbo. tb_cashaccuratesplitresult1_stat专营公司流水拆分综合表

dbo.split_comp 细节级两者拆分对比表

 


 

           1     运行《DB 查询分析器》,选择ODBC数据源登录      

 


 

           2       数据库中相关表

 

 


 

           3    使用“对象浏览器”快速生成SQL来查看表 SplitResultList




 

           4    使用“对象浏览器”快速生成SQL来查看表 TB_CASHACCURATESPLITRESULT1

 

 


 

           5    使用“对象浏览器”快速生成SQL来查看表 SplitResultList_stat




 

          6    使用“对象浏览器”快速生成SQL来查看表 tb_cashaccuratesplitresult1_stat

 

 


 

          7    使用“全外连接”(Full Outer Join) 生成细节级两者拆分对比表split_comp

 

selecta.*,b.*  into split_comp

--select count(*)

from

(

    select *

    from tb_cashaccuratesplitresult1_stat 

) as a  full outer join

(

    select *

    from SplitResultListmid_stat 

)  as b   

        on a.outlistno=b.outlistno_xy anda.incroadno=b.incroadno_xy

;

 


 

           8    使用“对象浏览器”快速生成SQL来查看表 split_comp

   

4  本人撰写的关于“万能数据库查询分析器”的63 篇技术文章  

 

目前以下6篇文章发布几个国内计算机刊物上:

[1] 马根峰· DB Query Analyzer中断SQL语句的执行 · 杭州:《计算机时代》,2011年第12

[2] 马根峰· DB查询分析器 批量执行DML语句并返回更详细的信息 · 北京:《电脑编程技巧与维护》,2011年第24

[3] 马根峰· DBQuery Analyzer中的事务管理在DB2中的应用 · 北京:《电脑编程技巧与维护》,2011年第22

[4] 马根峰· DB查询分析器中断SQL语句的执行· 天津:《软件》,2011年第6

[5] 马根峰· 万能数据库查询分析器中的事务管理在Oracle中的应用 · 上海:《微型电脑应用》,2011年第11

    [6] 马根峰 · 新产品&工具点评 特别推荐:“万能数据库查询分析器”发布 · 程序员,20072

 

以下57篇文章发布在百度文库、CSDN资源、和本人的四大博客上:

《万能数据库查询分析器使用技巧之(一)》直到《万能数据库查询分析器使用技巧之(十三)》共13

《The 1st tip ofDB Query Analyze》到《The 13th skills of DB Query Analyzer》13

如何在客户端配置ODBC来访问远程DB2 for Windows服务器》

How to configure ODBC DSN in Client toaccess remote DB2 for Windows

《如何在服务器上配置ODBC来访问本机DB2 forWindows服务器》

How to configure ODBC DSN to access localDB2 for Windows

《软件开发顶尖高手的杀手锏SQL语句》

Which SQL statement is the trump card tothe senior software developer

DB 查询分析器批量执行DML语句并返回更详细的信息》

《用“万能数据库查询分析器”测试SQLite4SQL精髓语句的支持》

《用“DB查询分析器”的对象浏览器来展现数据库的数据字典》

《万能数据库查询分析器用户已基本涵盖当前所有数据库系统》

The DBMS that DB Query Analyzer Users oftenuse cover all kinds of DBMS

《查询分析器应必须具备的功能-中断查询的执行》

《万能数据库查询分析器的EXE文件加壳技术》

Exe packer prevent DB Query Analyzer frombeging debugged

《自己开发的“万能数据库查询分析器”终于有了较大的成果》

DB Query Analyzer中断SQL语句的执行

DB 查询分析器 批量执行DML语句并返回更详细的信息

DB Query Analyzer中的事务管理在DB2中的应用

DB 查询分析器中断SQL语句的执行

万能数据库查询分析器中的事务管理在Oracle中的应用

特别推荐:“万能数据库查询分析器”发布》

《软件开发高手须掌握的4SQL精髓语句(一)》

《软件开发高手须掌握的4SQL精髓语句(二)》

《软件开发高手须掌握的4SQL精髓语句(三)》

《软件开发高手须掌握的4SQL精髓语句(四)》

《软件开发高手须掌握的4SQL精髓语句(综合篇)》

《巅峰之作----“万能数据库查询分析器”5.01发布》

《万能数据库查询分析器与EXCEL强强联合进行数据分析》

DB 查询分析器批量执行多条SQL语句并查看各自的执行时间》

DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号》

The table name must be enclosed in double quotation marks or sqarebracket while accessing EXCEL by DB Query Analyzer

 

 

  

DB查询分析器 5.03  中关村在线下载地址

http://xiazai.zol.com.cn/detail/27/264455.shtml

 

 

DBQuery Analyzer 5.03中关村在线下载地址 

http://xiazai.zol.com.cn/detail/43/420901.shtml

 

  

 

备注:

 如果您的计算机上安装有“万能数据库查询分析器”以前的版本,请先将旧版本 Uninstall,然后再安装新版本,谢谢!

 

 

 

作者简介:

马根峰,硕士,研究方向:数据库应用。

个人开发了万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。

个人还开发了彻底删除文件(File Delete Absolutely),用以将Windows系统上的文件彻底删除,不会被其它软件恢复。

这两个软件均免费使用,在各内几大软件下载网站中关村在线、天空软件站、华军软件园、太平洋电脑、非凡软件站、绿色联盟等均有下载。

 

 

作者博客:

CSDN博客:http://blog.csdn.net/magenfeng

新浪博客:  http://blog.sina.com.cn/magenfeng

QQ空间:  http://user.qzone.qq.com/630414817





 


   

4  本人撰写的关于“万能数据库查询分析器”的63 篇技术文章  

 

目前以下6篇文章发布几个国内计算机刊物上:

[1] 马根峰· DB Query Analyzer中断SQL语句的执行 · 杭州:《计算机时代》,2011年第12

[2] 马根峰· DB查询分析器 批量执行DML语句并返回更详细的信息 · 北京:《电脑编程技巧与维护》,2011年第24

[3] 马根峰· DBQuery Analyzer中的事务管理在DB2中的应用 · 北京:《电脑编程技巧与维护》,2011年第22

[4] 马根峰· DB查询分析器中断SQL语句的执行· 天津:《软件》,2011年第6

[5] 马根峰· 万能数据库查询分析器中的事务管理在Oracle中的应用 · 上海:《微型电脑应用》,2011年第11

    [6] 马根峰 · 新产品&工具点评 特别推荐:“万能数据库查询分析器”发布 · 程序员,20072

 

以下57篇文章发布在百度文库、CSDN资源、和本人的四大博客上:

《万能数据库查询分析器使用技巧之(一)》直到《万能数据库查询分析器使用技巧之(十三)》共13

《The 1st tip ofDB Query Analyze》到《The 13th skills of DB Query Analyzer》13

如何在客户端配置ODBC来访问远程DB2 for Windows服务器》

How to configure ODBC DSN in Client toaccess remote DB2 for Windows

《如何在服务器上配置ODBC来访问本机DB2 forWindows服务器》

How to configure ODBC DSN to access localDB2 for Windows

《软件开发顶尖高手的杀手锏SQL语句》

Which SQL statement is the trump card tothe senior software developer

DB 查询分析器批量执行DML语句并返回更详细的信息》

《用“万能数据库查询分析器”测试SQLite4SQL精髓语句的支持》

《用“DB查询分析器”的对象浏览器来展现数据库的数据字典》

《万能数据库查询分析器用户已基本涵盖当前所有数据库系统》

The DBMS that DB Query Analyzer Users oftenuse cover all kinds of DBMS

《查询分析器应必须具备的功能-中断查询的执行》

《万能数据库查询分析器的EXE文件加壳技术》

Exe packer prevent DB Query Analyzer frombeging debugged

《自己开发的“万能数据库查询分析器”终于有了较大的成果》

DB Query Analyzer中断SQL语句的执行

DB 查询分析器 批量执行DML语句并返回更详细的信息

DB Query Analyzer中的事务管理在DB2中的应用

DB 查询分析器中断SQL语句的执行

万能数据库查询分析器中的事务管理在Oracle中的应用

特别推荐:“万能数据库查询分析器”发布》

《软件开发高手须掌握的4SQL精髓语句(一)》

《软件开发高手须掌握的4SQL精髓语句(二)》

《软件开发高手须掌握的4SQL精髓语句(三)》

《软件开发高手须掌握的4SQL精髓语句(四)》

《软件开发高手须掌握的4SQL精髓语句(综合篇)》

《巅峰之作----“万能数据库查询分析器”5.01发布》

《万能数据库查询分析器与EXCEL强强联合进行数据分析》

DB 查询分析器批量执行多条SQL语句并查看各自的执行时间》

DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号》

The table name must be enclosed in double quotation marks or sqarebracket while accessing EXCEL by DB Query Analyzer

 

 


http://www.ppmy.cn/news/378000.html

相关文章

数据恢复

昨天手贱&#xff0c;在使用软碟通做Ubuntu12.04的镜像文件的U盘启动盘的时候&#xff0c;由于Ubuntu12.04在移动硬盘里&#xff0c;懒得将镜像文件拷到笔记本中&#xff0c;就直接使用移动硬盘里的镜像。 操作过程如下&#xff1a; 单击上述的那个菜单&#xff0c;弹出如下的…

pC机OracLe库磁盘坏如何恢复,电脑硬盘损坏怎么办 电脑硬盘数据恢复图文教程

随着信息技术的发展&#xff0c;计算机越来越广泛的应用到各个领域。作为计算机中数据存储和交换的主要设备&#xff0c;大容量、高密度硬盘上保存了大量重要的资料和数据信息。大家都知道&#xff0c;在电脑的日常使用中&#xff0c;经常会因为一些非主观因素造成硬盘损坏&…

21款数据恢复软件,包含电脑PC、手机安卓、与苹果IOS免费下载

数据恢复软件合集&#xff0c;共21款&#xff0c;覆盖电脑PC、手机安卓、与苹果IOS。软件绝大多数均可使用。软件打开后如果有提示升级的&#xff0c;请不要升级&#xff0c;以免升级失败。文章底部附下载地址&#xff0c;如链接失效&#xff0c;可评论告知。 常见数据恢复场景…

数据蛙恢复软件替代产品有哪些?15款顶尖数据恢复软件清单

数据蛙恢复软件是一款国内数据恢复软件&#xff0c;可以在很多品牌的电脑上使用。但是你可能会遇到数据蛙恢复软件扫描不到需要恢复文件的情况。那么有没有更专业的数据恢复软件可以找到更多误删数据&#xff1f;本文将为你介绍最值的推荐的15个数据蛙恢复软件替代产品。 丢失…

顶尖数据恢复软件官方正式版

名称&#xff1a;顶尖数据恢复软件官方正式版 版本&#xff1a;1.0 软件大小&#xff1a;4.0MB 软件语言&#xff1a;中文简体 软件授权&#xff1a;免费版 应用平台&#xff1a;Win7/WinVista/Win2003/WinXP/Win2000 顶尖数据恢复软件是国内最顶尖的数据恢复软件,可以很轻松地…

基于Hexo和Butterfly创建个人技术博客,(5) 使用Hexo的Tags Plugin插件增强博客文章内容和视觉表现力

Hexo官司网查看 这里 注意&#xff1a; Tags语法是Hexo插件提供的&#xff0c;是非标准语言&#xff0c;写文章时要注意以下几点&#xff1a; 用于在文章中快速插入特定的内容&#xff0c;作用等同于其它语言&#xff0c;可理解为一种增强版本的markdown&#xff1b;可混合Mark…

推荐几款机顶盒用的芯片

深圳爱欣文科技有限公司成立于1989年,长期专业从事国际最新集成电路(IC)代理批发销售业务,及其应用技术研发的一条龙业务,是集研发、商贸于体的全球化IC代理公司.公司接受荣誉授权,全面代理台湾DAVICOM联杰国际﹑MAGCOM磁威,GIGASTORAGE国硕、TMC晶扬等国际知名品牌的微型计算机…

【数据库一】MySQL数据库初体验

MySQL数据库初体验 1.数据库基本概念1.1 数据Data1.2 表1.3 数据库1.4 数据库管理系统1.5 数据库系统 2.数据库的发展3.主流的数据库介绍3.1 SQL Server&#xff08;微软公司产品&#xff09;3.2 Oracle &#xff08;甲骨文公司产品&#xff09;3.3 DB2&#xff08;IBM公司产品…