付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL语句在审计中的简单应用SELECTS句是SQL语言中使用频率最高的语句,完全可以说 SELECT语句是 SQL的灵魂。SELECT语句的作用就是让数据库服务器根据用户的要求搜索出所需 要的信息资料,并按规定的格式进行整理,再返回给用户。在计算机审计中,面 对繁杂的数据,可以充分利用SQL语句对数据进行筛选和比较,提取组成我们可 用的审计中间表,大大提高审计效率。一、SELECT吾句的基本组件和描述:SELECT指明要检索的数据的列。FROM指明从哪(几)个表中检索行。WHERE指明返回数据必须满足的标准(条件)。GROUP BY 对于集合查询,指明返回的列数据通过这些列来形成组(分组查询
2、)。HAVING对于集合查询,指明返回的集合值必须满足的标准。ORDER BY 指明返回的排序顺序(排序查询)。例如:简单查询数据库表 hzbb 中的以下几列,并将查询结果的每一行都返回在选定列中显示,可用以下 SQL语句表示:SELECT id, lname, fname, state, zip, contract FROM hzbb( 前面的列名即字段名如用 *表示所有列 ) 即为: SELECT * FROM hzbb添加 WHER条件子句,以缩小检索范围。如只返回显示state列中含有CA字符,并且同时满足contract列中值为0的报有记录(行)。可用以下 SQL语句表示:SELEC
3、T id, lname, fname, state, zip, contractFROM hzbbWHERE state = CA' AND contract = 0(逻辑操作符AND表示与的意思,而OR表示或的意思,如使用 AND则返回 的行必须满足AND两边的条件,OF操作符则要求OF两边至少满足一个条件)虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下:SELECT select_list INTO 新表名 FROM表一,表二 WHERE 条件表达式 GROUP BY分组列 HAVING 指定组或聚合应满足的搜索条件 ORDER BY指定要排序的列ASC (升
4、序)| DESC (降序)二、审计实务中的SQL例句说明1、在SELECT语句中,“ *”表示表中所有的列。如: select * from 凭证库 该语句表示选择凭证库(表)中所有列的记录。2、使用TOP关键字用于指定只返回前面一定数量的数据。当查询到的数据非常多(如有 100 万行),但又没有必要对所有数据进行浏 览时,使用TOP关键字可以大大减少查询的时间。女口: SELECT TOP 20 FROM HZK表示从数据库HZK中返回前面20行的数 据。SELECT TOP>0 PERCENT FROMHZK表示从数据库表 HZK中搜索返回前20% 的数据。3、使用DISTINCT关
5、键字。使用DISTINCT关键字可从返回的结果数据集合中删除重复的行,使返回的 结果更加简洁。如: select distinct 科目编码 from 凭证库,该语句表示从 凭证库中选择科目编码以及使用 distinct 关键字后去掉那些重复的科目编码, 使每个科目编码都是唯一。注意:在使用DISTINCT关键字后,如果表中存在多个 NULL的数据,服务器 将会把这些数据视为相等。4、灵活运用SQL语句使用计算列。在进行审计数据分析和查询时经常需要对查询的数据进行再计算, 这里审计 人员可充分运用SELECTS句的功能来直接使用计算列对审计数据进行运算,而 计算列并不存在于表格所存储的数据中,
6、 它是通过对某些列的数据进行计算而得 出的结果列。由于计算列没有列名,所以返回的结果看不到它的字段名字。在计算列上, 允许使用 +、 -、 *、 / 、 %和逻辑运算符。5、操作查询的列名。SELECTS句可以根据实际的需要对查询数据的列标题进行修改,或者为设立没有标题的列增加临时的标题。对列名进行操作的方法有三种:一是在列表达式后面直接给出列名。 SELECT title_id 商品代号' ,price '原价',price - price * 0.3'现价'FROM title二是使用SQL支持的“=”符号来连接列表达式。SELECT '商品
7、代号'=title_id ,'原价'=price,'现价'=price price * 0.3 from title三是在指定列标题时,使用AS关键字来连接列表达式和指定的列名。SELECTtitle_id AS'图书代号',price AS '原价',price - price * 0.3 AS现价' FROM title以上三种语句返回结果相同。注意:在对列名进行操作时, 有以下几个问题值得注意: 当使用中文列名时, 可以不写引号, 但决不能使用全角引号, 否则查询结果出错; 当使用的英文列名 超过两个单词时,
8、 必须使用引号将列名括起来; 可以联合使用本节介绍的 3种方 法,返回结果相同。另外,审计人员还可通过应用函数方式直接对表列进行操作。如语句:Select sum(jfje), sum(dfje) from pzk该语句是将 pzk( 凭证库 ) 中所有凭证的借方发生额求和和贷方发生额求和,借以查看 pzk 表中借贷发生额是否平衡。6、使用WHER条件子句。使用WHER子句的目的是从表的数据集中筛选出符合审计人员设定条件的行。使用 WHER子句可以限制查询的范围,提高查询效率。使用时注意WHER子句必须紧跟 FROMF句之后。WHER子句中的条件表达式包括算术表达式和逻辑表达式。算术表达式:
9、=(等于); < (小于); >(大于); <>(不等于);! >(不大于); !<(不小于); >= (大于等于); <= (小于等于); ! =(不等于)。例 1:查询数据库表 title 中,返回商品的价格打了 9 折后仍大于 150 元的商品代码、 商品种类及商品的原价。 Select title_id As 商品代码, type As 商品种类, price As 商品原价 from title Where price - price * 0.1 > 150例 2:通过对摘要字段内容的选择筛选出其中与招待费有关的所有凭证。Sele
10、ct 科目编码 , 科目名称 , 摘要 , 凭证日期 , 借方金额 , 贷方金额 from 凭证库 where摘要 like '% 招待费 %'例 3:在凭证库中统计 7到 12月份现金的借贷发生总额。Select sum( 借方金额 ) as 现金借方发生总额 , sum( 贷方金额 ) as 现金贷方发生总 额 from 凭证库 where 科目编码 like '101%' and 凭证日期 between #2004-07-01 # and #2004-12-31#7、使用BETWHEE关键字。使用BETWHEE关键字可以方便地限制查询数据的范围(即包含在
11、两个边界内的值),NOT BETWHEEN(不包含在两个边界内的值)。使用BETWHEE表达式进行查询的效果可以使用>=和 <=的逻辑表达式来代替;使用 NOTBETWHEE进行查询的效果可以使用 >和< 的逻辑表达式来代替。如: Select 商品代码,商品种类,商品价格 from titles Where商品价格BETWHEEN $10 AND $15也可用: select 商品代码,商品种类,商品价格 from titles where商品价格 >= $10 AND 商品价格 <=$15如果要查商品价格大于 15元和小于 10 元的商品的代码、种类和价
12、格,可用以下查询:select 商品代码, 商品种类, 商品价格 from titles where商品价格 < $15 or商品价格 >$20也可用: where NOT BETWHEEN 15 AND 20注意:在使用BETWHEE限制查询数据范围时,同时包括了边界值,而使用NOTBETWHEEN进行查询时没有包括边界值。8、使用 IN 关键字。同BETWHEE关键字一样,IN关键字的引入也是为方便地限制检索数据的范围,灵活 使用 IN 关键字,可以用简洁的语句实现较复杂的查询。如: select pz_id, pz_date, pz_fname, pz_zy from hzk
13、where state = 招待费' or state = '餐费' or state = '酒水费' 如用 IN 关键字可替代以上语句:select pz_id, pz_date, pz_fname, pz_zy from hzkwhere state IN ( 招待费' , 餐费' , 酒水费' ) 如果要查询不在列表中的值,可使用 NOT IN ,方法同上。9、使用 LIKE 子语句进行模糊查询。审计人员往往在实际应用中不一定总是能够就很快地给出精确的查询条件,因此经常需要根据一些并不确定的线索来排查被审数据, LIKE 子
14、句就是用来进行模糊查询的语句, 在 LIKE 子句使用中,通常与通配符配合使用。SQL 提供了四种通配符供用户实现复杂的查询条件:% (百分号):表示从 0 到 n 个任意字符。_ (下划线):表示单个任意字符。 (封闭方括号):表示方括号内列出的任意一个字符。 A:表示任意一个没有在方括号内列出的字符。如: where 科目名称 like %费'就是查询条件以“费”结尾的科目字段。下列将查询出所有满足 tel_id 的前面两个字母为“ 72”、第 4 个字母为“”的人员 姓名和电话号码:Select tel_lanme, tel_fname, phone, tle_id from T
15、EL Where tel_id like 72_ %'使用方括号可以将字符查询的范围进一步缩小。注意:在 LIKE 子句的查询条件中,包含在 '中的所有字符都将被考虑进去,包括 空格在内,所以要注意在 '中末尾含有空格而影响查询结果。必须注意的是所有通配符都只有在 LIKE 子句中才有意义,否则,通配符会被当作普通 字符处理。也就是说通配符只有跟随 LIKE 后才有效。10、使用 ORDER BY 给数据排序Select语句获得的数据一般是没有按规律进行排序的,GROUP主要是对表中的信息细化分组,对属于同组信息进行统计,一般与函数一起使用。语法为:Order by order by expression ASCI DESC ,.n Order by expression:定义用于排序的列。 可以使用多列进行排序, 各列在 orderby
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾病各种化验正常值及临床意义
- 生物修复技术作用机理及其运
- 2026年人教版初中一年级英语上册第8单元综合测试卷及答案
- 黑龙江省黑教版初中英语阅读理解专项训练习题及答案
- 2026年部编版八年级历史下册第5单元中国近代史同步练习题及答案
- 2026年湖南省湘教版初中语文七年级下册第十二单元文言文阅读同步练习题及答案
- 自然地理环境对人类活动影响
- 注射剂临床应用的溶媒选择
- 绿色植物与生物圈的水循环202
- 老年人不宜使用的药物
- 2026年血液疾病试题及答案解析
- 2026年春招找考试模拟题及答案详解
- 高校安全考核奖惩管理制度
- 2026年威海市专业技术人员公需课考试题及答案
- 《小小歌唱家 巴加女孩+音乐跨大洋》课件2026-2027学年人教版五年级上册音乐
- 大型粮仓工程监理大纲
- 二年级(上)语文 1-8单元一课一练
- 2026年7月典型事故案例警示教育培训
- 2002版干部履历表(贵州省)
- 小学英语单词总表人教PEP版三至六年级(默写背诵两用)
- 统编版高中语文必修上册 3.1《百合花》说课课件
评论
0/150
提交评论