审计模式下常用的SQL查询语句示例Word格式.docx

上传人:b****3 文档编号:16578600 上传时间:2022-11-24 格式:DOCX 页数:7 大小:20.48KB
下载 相关 举报
审计模式下常用的SQL查询语句示例Word格式.docx_第1页
第1页 / 共7页
审计模式下常用的SQL查询语句示例Word格式.docx_第2页
第2页 / 共7页
审计模式下常用的SQL查询语句示例Word格式.docx_第3页
第3页 / 共7页
审计模式下常用的SQL查询语句示例Word格式.docx_第4页
第4页 / 共7页
审计模式下常用的SQL查询语句示例Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

审计模式下常用的SQL查询语句示例Word格式.docx

《审计模式下常用的SQL查询语句示例Word格式.docx》由会员分享,可在线阅读,更多相关《审计模式下常用的SQL查询语句示例Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

审计模式下常用的SQL查询语句示例Word格式.docx

可以指定单个条件或多个条件,并可配合其他函数或关键字使用,常用到的类型有如下几类。

  

(一)对单个条件的简单查询:

select*from存款表where金额>

=100000;

该情况的使用较为简单,适用于任何单条件查询。

  

(二)对多个条件的查询,各条件间可能是and或or的关系:

select*from存款表where金额>

=100000and存款时间>

=#2006-1-1#;

该情况常用于对多个条件的查询,根据关键字and或or来决定是同时满足所有条件还是仅满足某些条件。

  (三)对多个条件的查询,得到符合条件的某字段的合计值:

selectsum(金额)from存款表where金额>

=#2006-1-1# 

and存款时间<

=#2006-12-31#orderby金额desc,存款时间asc;

该情况一般用于统计某种条件下的合计值,常用于对某种情况下的总金额情况进行了解。

  (四)用集函数按条件查询:

selectcount(*)from凭证表where金额>

selectmax(发生金额)from存款表;

selectavg(发生金额)from存款表;

该情况类似于上面求和函数的使用,可根据具体需求进行应用。

  (五)对关键字的内容进行查询:

select*from凭证表where摘要like‘%招待费%’;

该情况较为常用,查询包含某些关键字的所有记录,也可结合关键字and或or等查询多个条件。

  (六)查询内容是否包含在给定的范围内:

select*from科目代码表where科目代码in(‘101’,’102’);

该情况用于所关心的字段包含内容类别较少的情况,常用在已基本确定查询范围之后。

当所关心内容类别较多时可使用下面将提到的两张表的嵌套查询。

  (七)对某个字段进行分组,查询各字段属性分别对应的发生次数,并按发生次数进行排序:

select款项代码,count(款项代码)as次数from大额现金支取表groupby款项代码orderbycount(款项代码)desc;

该情况常用于对某个所关心字段的分类统计,得出每个类别所发生的次数,并可按发生次数进行排序。

  (八)按某个字段的长度进行分类并进行排序:

selectlen(科目代码)as发生次数from科目代码表groupbylen(科目代码)orderbylen(科目代码)desc;

 

该情况用于了解某字段的长度分组情况,可对所取得的原始数据进行验证,以证实原始数据的规范性或找出不规范情况的问题所在。

  (九)分组查询,group与having联用:

select客户号,count(*)as发生次数

from存款表

where发生金额>

=100000

groupby客户号

havingcount(*)>

1;

该类语句常用于要列出所关心某字段的某一个或几个条件限制下发生次数超出某范围的情况。

如查询发生多次(即同一关键字发生的记录数大于1)大额存取的客户号及其存取次数,查询结果按客户号分组。

  以上各类对单个表的查询结果并未直接存储成新表,不利于对查询结果的进一步分析利用,我们可以使用“select*into新表名from表名where条件”这种语句格式把查询结果保存成新表,如

select*into大额存款发生情况表from存款表where金额>

  二、对多个表的条件查询,一般需根据各表的相应关键字进行连接

  这种情况下必须对各表的对应关键字进行关联,一般情况下是对两张表的关联查询,当有更多张表要操作时可以每次对两张表操作后再和剩余的表关联操作,也可以扩展SQL语句同时对两个以上的表操作,以下只列出对两张表操作的情况。

  

(一)两张结构相同的表合并并生成新表,使用关键字union进行联合查询:

select*into中间表from 

(select*from原始表1unionselect*from原始表2);

该情况常用于对多个原始表的整理以生成中间表,便于后续的查询工作。

如合并采集到的原始数据,将原本分月存储的数据表全并成分年度存储的数据表。

  

(二)两张表的连接,生成新的中间表:

selecta.*,b.客户名称into含客户名称的现金支取表from现金支取表asa,客户基本信息表asbwherea.款项代码=b.款项代码;

使用该类语句的前提是两张表存在相关联的关键字,常用于一张表根据两表的连接关键字引入另一张表的某些字段,为后续的查询准备好中间表。

其中使用别名可以简化SQL语句的输入。

如财务数据中采集到的凭证表是两张表时,可连接两表引入摘要字段等。

  (三)两张表的关联查询,可加入多个条件:

selecta.*,b.科目代码from对公活期存款明细表asa,活期存款账户动态表asbwherea.款项代码=b.款项代码and科目代码like’201%’;

该情况可看作对两张表连接的扩展,即根据where所限定的条件来对两张表关联查询。

  (四)两张表的嵌套查询,两层查询间要使用关键字in:

select*into频繁发生大额现金支取

from大额现金支取

where交易金额>

=100000and款项代码in 

select款项代码

from款项代码发生次数_大额现金支取

where次数>

=10

orderby款项代码,交易金额,记账日期;

这种情况也可理解为简单查询,不同的是其中where所指定的某个条件是由另一张表的又一个查询所指定的,与单表查询的语句

进行对比后发现,可将两张表的嵌套查询看作如上语句的扩展。

如利用大额现金支取表和大额现金支取的款项代码发生次数表查询交易金额大且发生次数多的情况。

再比如利用贷款表和股东表查询贷款表中含股东贷款的情况。

  (五)多表的连接操作

  多表连接可分为内连接、外连接、自身连接、交叉连接。

其中内连接又分为等值连接、不等连接和自然连接,外连接又分为左连接、右连接和全连接。

实际审计工作当中所用到的多是内连接与外连接,较少用到自身连接与交叉连接。

多表的连接使用需根据具体情况而定,下面列出部分示例。

  1.内连接的等值连接:

select*from存款表asainnerjoin客户信息表asbona.款项代码=b.款项代码;

以上语句用于列出存款表和客户信息表中款项代码相同的记录。

  2.外连接的左连接。

select*from存款表asaleftjoin客户信息表asbona.款项代码=b.款项代码;

左连接的特点是显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。

右连接与此类似,其特点是显示全部右边表中的所有项目,甚至是左边表中没有和它匹配的记录。

  以上列出的是数据审计模式下根据实际工作总结出的常用SQL语句,虽然所列内容并不全面,更不可能完全体现SQL查询的全面功能与精妙所在,但只要能够很好地分析出审计需求,把用自然语言表达的审计思路转化为计算机的SQL查询语句,并结合以上的常用语句适当组合运用,一定能使数据审计模式下的工作达到事半功倍的效果,更好地推动计算机审计的快速发展。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1