Which SQL statement is the trump card to the senior software developer
                    
MA Genfeng  
       (Guangdong Unitoll Services incorporated, Guangzhou 510300)

Abstract     Within so many kinds of DML statements in SQL, I think four kinds of them, including Case When, Left Outer Join/Left Join / Right Outer Join /Right Join/ Inner Join, WITH AS and UNION/UNION ALL, are essential for the Database Developer.

In fact, there is a kind of SQL statement which might be the trump card to the senior software developer.I can say, immodestly, that quite a few software developers would never get the chance to use it solving a task that they might encount in their work . This is Full Outer Join.

Key words  DB Query Analyzer; Full Outer Join; UDA; Data Access

0   Perface 

Nowadays, the application of computers has penetrated into all spheres of society. Software developers have to meet with data process and data access.

Within so many kinds of DML statements in SQL, I think four kinds of them, including Case When, Left Outer Join/Left Join / Right Outer Join /Right Join/ Inner Join,WITH AS and UNION/UNION ALL, are essential for the Database Developer.

I've writen four articles correspond to the four kinds of DML statements above which have already been published in my CSDN Blog, Sina Blog,QQ Space, Sohu Blog, CSDN Resource and Baidu Library.The four articles in my CSDN Blog have more than 1000 views each. What's more,I've writen an article in which those four kinds of DML statements are all used for solving a task in my work. The views reached a record more than 11000.

http://blog.csdn.net/magenfeng/article/details/8126418

In fact, there is a kind of SQL statement which might be the trump card to the senior software developer.I can say, immodestly, that quite a few software developers would never get the chance to use it solving a task that they might encount in their work . This is Full Outer Join.

The FULL OUTER JOIN keyword returns all rows from the left table (table1) and from the right table (table2).

SQL FULL OUTER JOIN Syntax

SELECT column_name(s)

FROM table1

FULL OUTER JOINtable2

ON table1.column_name=table2.column_name;

1   Brief introduction DB Query Analyzer

DB Query Analyzer is presented by Master Genfeng, Ma from Chinese Mainland. It has English version named ‘DB Query Analyzer’ and Simplified Chinese version named   .

DB Query Analyzer is one of the few excellent Client Tools in the world for its’powerful function, friendly interface, easy operation and applicability to every production of RDBMS.

It lets you query ODBC data sources, author SQL scripts and queries, return query results to a grid or free-form text or a file, retrieve ODBC driver information, execute multiple SQL scripts or stored procedures simultaneously, and more.

In the New products & Tools reviews of programmer second issue of 2007, DB Query Analyzer had been strongly recommended.

Now the Simplified Chinese version of DB Query Analyzer is the top 50 database application software in the famous software website http://xiazai.zol.com.cn/download_order/sub_550.html . In most case it lies the top 20 and it has been download more than 96,000 times.

63 technical articles about DB Query Analyzer have been published or been publishing in computer journal, BAIDU Library, the CSDN resource or my four blog-websites.

Download and install DB Query Analyzer. Then run it and input the DSN ’MGF_DB1’,User Name and Password.

2   What’s question to be solved

I work for Guangdong Unitoll Services incorporated, which is authorized to be engaged in Expressway Network Toll Collection in Guangdong Province. Each vehicle's toll data will be uploaded to our corporation by Every Highway Corporation. We must split all the tolls to each Highway Corporation by some rules. But another corporation developed a software system in which tolls splitting is also been done by their rules for a certain Highway Corporation.

So those Highway Corporations will often found many differences between thus two tolls splitting system.

I was arranged to find out what's the cause of the difference.

After careful thought, I decide to use two data granularity levels to describe the differences. The high granularity level tables show tolls splitting between those Highway Corporations. The low granularity level tables show detail splitting information of each vehicle's toll data in thus two tolls splitting system. I generated the result table data by Full Outer Join which will discover all the record

3   The process of the question be solved Detailedly

Because DB Query Analyzer access database/CSV/TXT/MS EXCEL by ODBC DSN, you should create ODBC DSN first.In here the process of the creation of ODBC DSN is omitted.

Tables in database include

dbo.SplitResultList           Low granularity level table

dbo.SplitResultList_stat        High granularity level table

dbo.TB_CASHACCURATESPLITRESULT1   Low granularity leveltable

dbo.tb_cashaccuratesplitresult1_stat        High granularity level table

dbo.split_comp

Table dbo.SplitResultList and dbo.SplitResultList_statare according to another corporation.

Table dbo.TB_CASHACCURATESPLITRESULT1 and dbo. tb_cashaccuratesplitresult1_stat are according to our corporation.

Table dbo.split_compis generated by me to show tolls splitting for each tolls splitting system.

Figure 1     Run DB Query Analyzer to log in the databaseby ODBC

Figure 2       Tables in the database connected

Figure 3    Faster SQLScript generated by Object View to access SplitResultList

Figure4 Faster SQL Script generated by Object View to access TB_CASHACCURATESPLITRESULT1

Figure 5    Faster SQL Script generated by Object Viewto access SplitResultList_stat

Figure 6 Faster SQL Script generated by Object View to access tb_cashaccuratesplitresult1_stat

Figure7    SQL script with Full Outer Join to generate the detail level data of split_comp

selecta.*,b.*  into split_comp

--selectcount(*)

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

;

Figure 8    Faster SQL Script generated by Object View to access split_comp

 

4   63 technical articles about DB Query Analyzer have been published or been publishing in computer journal, Baidu Library, the CSDN resource or my four blog-website.

The following 6 articles have been published in computer journal.

DB Query Analyzer to cancel a running SQL statement in Computer Era 12th issue of 2011 in Hangzhou.

DB Query Analyzer Returns Information in More Detail While Batch SQL Statement End of Execution in Computer Programming Skill & Maintenance 24th issue of 2011 in Beijing

The Application of the Transactions Control in DB2 with DB Query Analyzer in Computer Programming Skill & Maintenance 22nd issue of 2011 in Beijing.

How does DB Query Analyzer cancel the SQL statement committed to DBMS in Computer Engineering & Software 6th issue of 2011 in Tianjin.

The Application of the Transactions Control in Oracle with DB Query Analyzer in Microcomputer Applications 11th issue of 2011 in Shanghai.

DB Query Analyzer had been strongly recommended In the New products & Tools reviews of programmer 2nd issue of 2007.

The following 57 articles have been published or been publishing in Baidu Library, the CSDN resource or my four blog-website.

The DBMS that DB Query Analyzer Users often use cover all kinds of DBMS have been published.

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

How to configure ODBC DSN to access local DB2 for Windows

Which SQL statement is the trump card to the senior software developer

Exe packer prevent DB Query Analyzer from being debugged have been published.

13 articles from The 1st tip of DB Query Analyze to The 13th skills of DB Query Analyzer have been published.

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

DB Query Analyzer 5.04 download URL:

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

http://www.unitedpowersoft.com/UpFile/DBQueryAnalyzer_English_503.rar

DB Query Analyzer Simplified Chinese version 5.04  download URL:

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

Remarks :

Please uninstall the former version first, then install the latest version.

My blog-sites are http://blog.csdn.net/magenfeng

http://blog.sina.com.cn/magenfeng

http://user.qzone.qq.com/630414817

http://blog.csdn.net/magenfeng/article/details/8126418

The views of the article reached a record more than 11000


Which SQL statement is the trump card to the senior software developer的更多相关文章

  1. Drop all the tables, stored procedures, triggers, constraints and all the dependencies in one SQL statement

    Is there any way in which I can clean a database in SQl Server 2005 by dropping all the tables and d ...

  2. java.sql.preparedstatement和java.sql.statement的区别

    本文转自CSDN,然后整理了一遍.原文出处:CSDN JDBC(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.stateme ...

  3. 直接放个DB2 SQL STATEMENT大全好了!

    SQL statements   This topic contains tables that list the SQL statements classified by type. SQL sch ...

  4. MyBatis3: Could not find SQL statement to include with refid ‘

    错误: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.Incompl ...

  5. ORA-06550:line 1,column 7;PLS-00201:indentifer '存储过程' must be declared;...PL/SQL Statement ignored 问题

    前段时间由于修改SMES系统,出现了一个问题. ORA-06550:line 1,column 7;PLS-00201:indentifer '存储过程' must be declared;...PL ...

  6. 什么是SQL statement?

    什么是SQL statement? 1.SQL SELECT statement - SELECT命令 REFER: What is SQL, and what are some example st ...

  7. Viewing the Raw SQL Statement(xcode で)

    Thanks to Core Data. Even without learning SQL and database, you’re able to perform create, select, ...

  8. Caused by: org.h2.jdbc.JdbcSQLException: Table "T_STUDENT_INFO" not found; SQL statement

    1.错误描述 org.hibernate.exception.SQLGrammarException: error executing work at org.hibernate.exception. ...

  9. Error 1313: RETURN is only allowed in a FUNCTION SQL Statement

    1.错误描述 14:07:26 Apply changes to rand_string Error 1313: RETURN is only allowed in a FUNCTION SQL St ...

随机推荐

  1. Linux--Web应用服务和MySQL数据库

     (1)  WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能,是 人们在网上查找.浏览信息的主要手段.它使得成千上万的用户通过简单的 图形界面就可以获取各个大学.组织.公司 ...

  2. 13常用sql语句

    创建语句 CREATE table if not exists b(id INTEGER PRIMARY KEY AUTOINCREMENT,waijian int ,FOREIGN KEY (wai ...

  3. 从二进制数据流中构造GDAL可以读取的图像数据(C#)

    在上一篇博客中,讲了一下使用GDAL从文件流中构造一个GDAL可以识别的数据来进行处理.原以为这个接口在C#中没有,仔细看了下GDAL库中源码,发现C#版本也有类似的函数,下面是GDAL库中的一个C# ...

  4. Java并发框架——公平性

    所谓公平性指所有线程对临界资源申请访问权限的成功率都一样,不会让某些线程拥有优先权.通过前面的CLH Node FIFO学习知道了等待队列是一个先进先出的队列,那么是否就可以说每条线程获取锁时就是公平 ...

  5. Github上怎么修改别人的项目并且提交给原作者!图文并茂!

    Github上怎么修改别人的项目并且提交给原作者!图文并茂! 写这篇博客的初衷,是因为我的项目Only需要一些朋友一起参与进来,但是很多的Git都不是很熟练,其实版本控制这种东西没有什么难度的,只要稍 ...

  6. Oracle使用游标删除所有用户数据表中的所有记录脚本

    应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自 ...

  7. Android简易实战教程--第二话《两种进度条》

    点击按钮模拟进度条下载进度,"下载"完成进度条消失. 代码如下: xml: <?xml version="1.0" encoding="utf- ...

  8. 【IOS 开发】Object - C 数组使用详解

    . 一. 一维数组 1. 一维数组定义 (1) 数组定义 数组定义格式 : type arrayName[len]; -- 默认初始化 : 注意 数组定以后, 如果是 int 数组默认初始化为 0, ...

  9. vbox centos安装增强工具

    就是虚拟机识别不了宿主机的usb接口,这个虚拟机有没有图形界面,看看怎么装. 一个是依赖包问题,另一个就是挂了安装包,但是我怎么找到它并安装上去的问题. 虚拟机是centos6.6哈 vbox4.3. ...

  10. ADO.NET之Parameter属性

    在ADO.NET中, public SqlParameterCollection Parameters {get;}会得到一个SqlParameter属性.下面通过一个例子进行详细的认识吧. //例如 ...