审计模式下常用的SQL查询语句示例_第1页
审计模式下常用的SQL查询语句示例_第2页
审计模式下常用的SQL查询语句示例_第3页
审计模式下常用的SQL查询语句示例_第4页
审计模式下常用的SQL查询语句示例_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

审计模式下常用的SQL查询语句示例随着信息技术的不断发展,被审计对象的财务和业务系统也大多使用了专用软件进行计算机管理,如果暂不考虑计算机软硬件本身的系统审计,那么我们所面对的审计也就分为了以财务账套为基础的账套式审计模式和直接对数据本身(包括财务数据和业务数据)审计的数据式审计模式。但不论是何种审计模式,最根本的还是要使用计算机语句对具体问题进行查询分析,即通过数据库的SQL查询语句对数据库中的数据表进行查询分析。

虽然SQL语句的功能很多,且不同数据库环境下的具体使用也会因为所遵循的官方标准不同而略有差别,但多数情况下的使用是相通的。同时因为审计工作的特点,所使用的SQL语句也多是对数据的查询,一般并不会包括对原始数据的增加、删除、修改等操作,所以在计算机审计中重点需要掌握的内容就是灵活利用SQL语句的查询功能。实际审计工作当中,在数据审计模式下我们所常用的是如下所示的语句,也是从实际审计工作中收集出具有代表性的语句,并且所有语句都基于Access数据库,在AO现场审计实施系统中可正常使用。

一、对单个表的条件查询,用where指定查询条件,也有不使用where的情况,多用于对原始表的统计、分类等

该类情况下SQL语句的语法是“select*from表名where条件”。可以指定单个条件或多个条件,并可配合其他函数或关键字使用,常用到的类型有如下几类。

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

select*from存款表where金额>=100000;

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

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

select*from存款表where金额>=100000and存款时间>=#2006-1-1#;

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

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

selectsum(金额)from存款表where金额>=100000and存款时间>=#2006-1-1#

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

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

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

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

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

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

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

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

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

该情况较为常用,查询包含某些关键字的所有记录,也可结合关键字度存储的数据表。

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

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所指定的某个条件是由另一张表的又一个查询所指定的,与单表查询的语句

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

进行对比后发现,可将两张表的嵌套查询看作如上语句的扩展。如利用大额现金支取表和大额现金支取的款项代码发生次数表查询交易金额大且发生次数多的情况。再比如利用贷款表和股东表查询贷款表中含股东贷款的情况。

(五)多表的连接操作

多表连接可分为内连接、外连接、自身连接、交叉连接。其中内连接又分为等值连接、不等连接和自然连接,外连接又分为左连接、右连接和全连接。实际审计工作当中所用到的多是内连接与外连接,较少用到自身连接与交叉连接。多表的连接使用需根据具体情况而定,下面列出部分示例。

1.内连接的等值连接:

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

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

2.外连接的左连接。

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

左连接的特点是显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。右连接与此类似,其特点是显示全部右边表中的所有项目,甚至是左边表中没有和它匹配的记录。

以上列出的是数据审计模式下根据实际工作总结出的常用SQL语句,虽然所列内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论