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

上传人:do****y1 文档编号:160085443 上传时间:2022-10-10 格式:DOCX 页数:7 大小:14.89KB
返回 下载 相关 举报
审计模式下常用的SQL查询语句示例._第1页
第1页 / 共7页
审计模式下常用的SQL查询语句示例._第2页
第2页 / 共7页
审计模式下常用的SQL查询语句示例._第3页
第3页 / 共7页
点击查看更多>>
资源描述
审计模式下常用的 SQL 查询语句示例随着信息技术的不断发展,被审计对象的财务和业务系统也大多 使用了专用软件进行计算机管理,如果暂不考虑计算机软硬件本身的 系统审计,那么我们所面对的审计也就分为了以财务账套为基础的账 套式审计模式和直接对数据本身(包括财务数据和业务数据)审计的 数据式审计模式。但不论是何种审计模式,最根本的还是要使用计算 机语句对具体问题进行查询分析,即通过数据库的SQL查询语句对 数据库中的数据表进行查询分析。虽然 SQL 语句的功能很多,且不同数据库环境下的具体使用也 会因为所遵循的官方标准不同而略有差别,但多数情况下的使用是相 通的。同时因为审计工作的特点,所使用的 SQL 语句也多是对数据 的查询,一般并不会包括对原始数据的增加、删除、修改等操作,所 以在计算机审计中重点需要掌握的内容就是灵活利用SQL语句的查 询功能。实际审计工作当中,在数据审计模式下我们所常用的是如下 所示的语句,也是从实际审计工作中收集出具有代表性的语句,并且 所有语句都基于Access数据库,在AO现场审计实施系统中可正常 使用。一、对单个表的条件查询,用 where 指定查询条件,也有不使 用 where 的情况,多用于对原始表的统计、分类等 该类情况下SQL语句的语法是“select * from表名where条件”。 可以指定单个条件或多个条件,并可配合其他函数或关键字使用,常 用到的类型有如下几类。一)对单个条件的简单查询:select * from 存款表 where 金额=100000; 该情况的使用较为简单,适用于任何单条件查询。(二)对多个条件的查询,各条件间可能是and或or的关系: select * from 存款表 where 金额=100000 and 存款时 间 = #2006-1-1#;该情况常用于对多个条件的查询,根据关键字and或or来决定是同 时满足所有条件还是仅满足某些条件。(三)对多个条件的查询,得到符合条件的某字段的合计值:select sum(金额)from 存款表 where 金额 = 100000 and 存 款时间 = #2006-1-1# and 存款时间 = #2006-12-31# order by 金额 desc, 存款时间 asc;该情况一般用于统计某种条件下的合计值,常用于对某种情况下的总 金额情况进行了解。(四)用集函数按条件查询:select count(* ) from 凭证表 where 金额=100000; select max(发生金额)from 存款表;select avg(发生金额)from 存款表; 该情况类似于上面求和函数的使用,可根据具体需求进行应用。(五)对关键字的内容进行查询:select * from 凭证表 where 摘要 like %招待费%;该情况较为常用,查询包含某些关键字的所有记录,也可结合关键字 and 或 or 等查询多个条件。(六)查询内容是否包含在给定的范围内:select * from 科目代码表 where 科目代码 in (101,102); 该情况用于所关心的字段包含内容类别较少的情况,常用在已基本确 定查询范围之后。当所关心内容类别较多时可使用下面将提到的两张 表的嵌套查询。(七)对某个字段进行分组,查询各字段属性分别对应的发生次 数,并按发生次数进行排序:select款项代码,count(款项代码)as次数from大额现金支取表 group by 款项代码 order by count(款项代码)desc;该情况常用于对某个所关心字段的分类统计,得出每个类别所发生的 次数,并可按发生次数进行排序。(八)按某个字段的长度进行分类并进行排序:select len(科目代码)as发生次数from科目代码表group by len(科目代码)or der by len(科目代码)desc;该情况用于了解某字段的长度分组情况,可对所取得的原始数据进行 验证,以证实原始数据的规范性或找出不规范情况的问题所在。(九)分组查询,group与having联用:select客户号,count(*) as发生次数from 存款表where 发生金额=100000group by 客户号having count(*)1; 该类语句常用于要列出所关心某字段的某一个或几个条件限制下发 生次数超出某范围的情况。如查询发生多次(即同一关键字发生的记 录数大于 1)大额存取的客户号及其存取次数,查询结果按客户号分 组。以上各类对单个表的查询结果并未直接存储成新表,不利于对查 询结果的进一步分析利用,我们可以使用 “select * into 新表名 from 表名 where 条件”这种语句格式把查询结果保存成新表,如 select * into 大额存款发生情况表 from 存款表 where 金 额=100000;二、对多个表的条件查询,一般需根据各表的相应关键字进行连 接这种情况下必须对各表的对应关键字进行关联,一般情况下是对 两张表的关联查询,当有更多张表要操作时可以每次对两张表操作后 再和剩余的表关联操作,也可以扩展 SQL 语句同时对两个以上的表 操作,以下只列出对两张表操作的情况。(一)两张结构相同的表合并并生成新表,使用关键字 union 进行联合查询:select * into 中间表 from(select * from 原始表 1 union select * from 原始表 2); 该情况常用于对多个原始表的整理以生成中间表,便于后续的查询工 作。如合并采集到的原始数据,将原本分月存储的数据表全并成分年 度存储的数据表。(二)两张表的连接,生成新的中间表:select a.*,b.客户名称into含客户名称的现金支取表from现金支 取表as a,客户基本信息表as b where a款项代码=b款项代码; 使用该类语句的前提是两张表存在相关联的关键字,常用于一张表根 据两表的连接关键字引入另一张表的某些字段,为后续的查询准备好 中间表。其中使用别名可以简化SQL语句的输入。如财务数据中采 集到的凭证表是两张表时,可连接两表引入摘要字段等。(三)两张表的关联查询,可加入多个条件:select a.*,b科目代码from对公活期存款明细表as a,活期存 款账户动态表as b where a.款项代码=匕款项代码and科目代 码 like 201%;该情况可看作对两张表连接的扩展,即根据where所限定的条件来 对两张表关联查询。(四)两张表的嵌套查询,两层查询间要使用关键字in:select * into 频繁发生大额现金支取from 大额现金支取where 交易金额=100000 and 款项代码 in(select 款项代码from 款项代码发生次数_大额现金支取where 次数 = 10)order by 款项代码,交易金额,记账日期;这种情况也可理解为简单查询,不同的是其中where所指定的某个 条件是由另一张表的又一个查询所指定的,与单表查询的语句 select * from 科目代码表 where 科目代码 in (101,102); 进行对比后发现,可将两张表的嵌套查询看作如上语句的扩展。如利 用大额现金支取表和大额现金支取的款项代码发生次数表查询交易 金额大且发生次数多的情况。再比如利用贷款表和股东表查询贷款表 中含股东贷款的情况。(五) 多表的连接操作多表连接可分为内连接、外连接、自身连接、交叉连接。其中内 连接又分为等值连接、不等连接和自然连接,外连接又分为左连接、 右连接和全连接。实际审计工作当中所用到的多是内连接与外连接, 较少用到自身连接与交叉连接。多表的连接使用需根据具体情况而 定,下面列出部分示例。1 内连接的等值连接:select * from 存款表 as a inner join 客户信息表 as b on a款项代码=b 款项代码;以上语句用于列出存款表和客户信息表中款项代码相同的记录。2 外连接的左连接。select * from 存款表 as a left join 客户信息表 as b on a款项代码=b 款项代码;左连接的特点是显示全部左边表中的所有项目,即使其中有些项中的 数据未填写完全。右连接与此类似,其特点是显示全部右边表中的所 有项目,甚至是左边表中没有和它匹配的记录。以上列出的是数据审计模式下根据实际工作总结出的常用 SQL 语句,虽然所列内容并不全面,更不可能完全体现 SQL 查询的全面 功能与精妙所在,但只要能够很好地分析出审计需求,把用自然语言 表达的审计思路转化为计算机的 SQL 查询语句,并结合以上的常用 语句适当组合运用,一定能使数据审计模式下的工作达到事半功倍的 效果,更好地推动计算机审计的快速发展。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!