版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文案SQL 语句在审计的简单应用SELECT 语句是 SQL 语言中使用频率最高的语句, 完全可以说 SELECT 语句是 SQL 的灵魂。SELECT 语句的作用就是让数据库服务器根据用户的要求搜索出所需要的信息资料, 并按规 定的格式进行整理,再返回给用户。一、 SELECT 语句的基本组件和描述:SELECT指明要检索的数据的列。FROM指明从哪(几)个表中检索行。WHERE指明返回数据必须满足的标准(条件) 。GROUPBY对于集合查询,指明返回的列数据通过这些列来形成组(分组查询)HAVING对于集合查询,指明返回的集合值必须满足的标准。ORDERBY指明返回的排序顺序(排序查询
2、) 。例如:简单查询数据库表 hzbb 中的以下几列,并将查询结果的每一行都返回在选定列中显示,可用以下 SQL 语句表示:SELECT id, lname, fname, state, zip, contractFROMhzbb(前面的列名即字段名如用 * 表示所有列 )即为: SELECT*FROMhzbb添加 WHERE 条件子句,以缩小检索范围。如只返回显示 state 列中含有 CA 字符,并且同时满足 contract 列中值为 0 的报有记录(行) 。可用以下 SQL 语句表示:SELECT id, lname, fname, state, zip, contractFROMhz
3、bbWHERE state = CA ANDcontract = 0逻辑操作符 AND 表示与的意思,而 OR 表示或的意思,如使用 AND 则返回的行必须满 足 AND 两边的条件, OR 操作符则要求 OR 两边至少满足一个条件) 虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下:SELECTselect_list INTO 新表名 FROM表一,表二 WHERE 条件表达式 GROUP BY 分组列 HAVING 指定组或聚合应满足的搜索条件 ORDER BY指定要排序的列ASC (升序)| DESC (降序)二、审计实务中的 SQL 例句说明1、在 SELECT 语
4、句中,“*”表示表中所有的列。如: select*from凭证库 该语句表示选择凭证库(表)中所有列的记录。2 、使用 TOP 关键字用于指定只返回前面一定数量的数据。当查询到的数据非常多 (如有 100 万行),但又没有必要对所有数据进行浏览时, 使用 TOP 关键字可以大大减少查询的时间。如: SELECTTOP20FROMHZK 表示从数据库 HZK 中返回前面 20 行的数据。SELECTTOP 20PERCENTFROM HZK 表示从数据库表 HZK 中搜索返回前 20% 的数据。3 、使用 DISTINCT 关键字。使用 DISTINCT 关键字可从返回的结果数据集合中删除重复的
5、行,使返回的结果更加简洁。如: selectdistinct 科目编码 from凭证库,该语句表示从凭证库中选择科目编码以及使用 distinct 关键字后去掉那些重复的科 目编码,使每个科目编码都是唯一。注意:在使用 DISTINCT 关键字后,如果表中存在多个 NULL 的数据,服务器将会把这些 数据视为相等。4 、灵活运用 SQL 语句使用计算列。在进行审计数据分析和查询时经常需要对查询的数据进行再计算, 这里审计人员可充分运用SELECT 语句的功能来直接使用计算列对审计数据进行运算, 而计算列并不存在于表格所存 储的数据中,它是通过对某些列的数据进行计算而得出的结果列。例如:将每吨水
6、泥的销售价格降低 20% :SELECTID , TYPE,销售价格,销售价格-销售价格* 20%FROMSJKB由于计算列没有列名,所以返回的结果看不到它的字段名字。在计算列上,允许使用+ 、-、*、/、 % 和逻辑运算符。5、操作查询的列名。SELECT 语句可以根据实际的需要对查询数据的列标题进行修改,或者为设立没有标题的列增加临时的标题。对列名进行操作的方法有三种:一是在列表达式后面直接给出列名。SELECT title_id 商品代号,price 原价,price -price * 0.3 现价 FROMtitle二是使用 SQL 支持的“ =”符号来连接列表达式。 SELECT 商
7、品代号 =title_id , 原价=price, 现价 =price - price * 0.3 fromtitle三是在指定列标题时,使用 AS 关键字来连接列表达式和指定的列名。 SELECT title_idAS 图书代号 , priceAS 原价,price - price * 0.3AS 现价 FROMtitle以上三种语句返回结果相同。注意:在对列名进行操作时, 有以下几个问题值得注意: 当使用中文列名时, 可以不写引号, 但决不能使用全角引号, 否则查询结果出错; 当使用的英文列名超过两个单词时, 必须使用 引号将列名括起来;可以联合使用本节介绍的 3 种方法,返回结果相同。
8、另外,审计人员还可通过应用函数方式直接对表列进行操作。如语句:Select sum(jfje), sum(dfje)frompzk该语句是将 pzk( 凭证库 )中所有凭证的借方发生额求和和贷方发生额求和,借以查看 pzk 表中借贷发生额是否平衡。6 、使用 WHERE 条件子句。使用 WHERE 子句的目的是从表的数据集中筛选出符合审计人员设定条件的行。使用WHERE 子句可以限制查询的范围, 提高查询效率。 使用时注意 WHERE 子句必须紧跟 FROM子句之后。 WHERE 子句中的条件表达式包括算术表达式和逻辑表达式。算术表达式: = (等于); (小于); (大于); (不等于);!
9、(不大于);! (不小于);= (大于等于) ; 150例 2 :通过对摘要字段内容的选择筛选出其中与招待费有关的所有凭证。Select 科目编码 ,科目名称 ,摘要 , 凭证日期 ,借方金额 ,贷方金额 from 凭证库 where 摘要 like%招待费 %例 3 :在凭证库中统计 7 到 12 月份现金的借贷发生总额。Select sum( 借方金额 ) as现金借方发生总额 , sum( 贷方金额 ) as现金贷方发生总额from凭证库where 科目编码 like 101% and凭证日期 between #2004-07-01 #and#2004-12-31#例 4 :从凭证库表中
10、筛选出“贷:现金” ,且摘要中不含“工资”或“奖金”或“稿费”或 “补”或“津贴”或“劳保”或“福利”或“出差”或“差旅费”字段,且现金贷方发生额 大于结算起点( 5000 元)的所有记录。审计人员可通过此语句为审查除发工资、奖金或借 差旅费等情况之外,现金使用是否超范围、超限额。本例是以 5000 元作为界点,具体使用 时也可视其需要做具体修改。如果现在科目不为 101 ,可能对编码也要做修改。select * from 凭证库 where 科目编码 like 101% and 贷方金额 5000and 摘要 not like % 工资 % and 摘要 not like % 奖金 % an
11、d 摘要 not like % 稿费 % and 摘要 not like %补% and 摘要 not like %津贴 % and 摘要 not like %劳保% and 摘要 not like % 福利 % and 摘要 not like % 出差 % and 摘要 not like % 差旅 费%7 、使用 BETWHEEN 关键字。使用 BETWHEEN 关键字可以方便地限制查询数据的范围 (即包含在两个边界内的值) ,NOTBETWHEEN (不包含在两个边界内的值) 。使用 BETWHEEN 表达式进行查询的效果可以使用 = 和 和 = $10AND商品价格=$15如果要查商品价
12、格大于 15 元和小于 10 元的商品的代码、种类和价格,可用以下查询:select商品代码,商品种类,商品价格fromtitleswhere商品价格 $20也可用: whereNOTBETWHEEN15AND20NOT注意:在使用 BETWHEEN 限制查询数据范围时,同时包括了边界值,而使用BETWHEEN 进行查询时没有包括边界值。8 、使用 IN 关键字。同 BETWHEEN 关键字一样, IN 关键字的引入也是为方便地限制检索数据的范围,灵活使 用 IN 关键字,可以用简洁的语句实现较复杂的查询。 如: select pz_id, pz_date,pz_fname, pz_zyfro
13、mhzkwherestate = 招待费orstate = 餐费orstate = 酒水费如用 IN 关键字可替代以上语句:selectpz_id,pz_date,pz_fname, pz_zyfromhzkwherestateIN ( 招待费 ,餐费, 酒水费 )如果要查询不在列表中的值,可使用 NOTIN ,方法同上。9 、使用 LIKE 子语句进行模糊查询。审计人员往往在实际应用中不一定总是能够就很快地给出精确的查询条件, 因此经常需要根 据一些并不确定的线索来排查被审数据, LIKE 子句就是用来进行模糊查询的语句, 在 LIKE 子句使用中,通常与通配符配合使用。SQL 提供了四种通
14、配符供用户实现复杂的查询条件:%(百分号):表示从 0 到 n 个任意字符。下划线):表示单个任意字符。标准文档实用文案 (封闭方括号) :表示方括号内列出的任意一个字符。A:表示任意一个没有在方括号内列出的字符。如: where科目名称like%费就是查询条件以“费”结尾的科目字段。下列将查询出所有满足 tel_id 的前面两个字母为“ 72 ”、第 4 个字母为“”的人员姓名和 电话号码:Selecttel_lanme,tel_fname,phone,tle_idfromTEL Wheretel_idlike使用方括号可以将字符查询的范围进一步缩小。在 LIKE 子句的查询条件中,包含在
15、中的所有字符都将被考虑进去,包括空格在内, 所以要注意在 中末尾含有空格而影响查询结果。必须注意的是所有通配符都只有在 LIKE 子句中才有意义,否则,通配符会被当作普通字符 处理。也就是说通配符只有跟随LIKE 后才有效。10 、使用 ORDERBY给数据排序Select 语句获得的数据一般是没有按规律进行排序的, GROUP 主要是对表中的信息细化 分组,对属于同组信息进行统计,一般与函数一起使用。语法为:OrderbyorderbyexpressionASC I DESC ,n Orderbyexpression :定义用于排序的列。可以使用多列进行排序,各列在 orderby子句中的顺
16、序决定了排序过程中的优先级。 ASC表示升序, DESC 表示降序。默认情况下, order必须使by 子句按升序进行排列。 即默认使用 ASC 关键字, 如果特别要求按降序进行排序, 用DESC关键字。如果在某一列中使用了计算列,如对某一列使用了函数或者是表达式,而又希望针 对该列的值进行排序,那么必须在 orderby 子句中再包含该函数或表达式,或使用为该计算列临时分配的列名。GROUP 主要是对表中的信息分组,在分组的基础上,对表的信息按组进行统计,一般和函 数一起使用。例 1 :对凭证库中其他应收款( 113 )科目中各末级科目按科目编码进行分组统计,并将借 方金额和贷方金额分别进行
17、求和显示。select 科目编码 ,sum( 借方金额 ),sum( 贷方金额 ) from 凭证库 where 科目编码 like 113%group by 科目编码例 2:在凭证库中统计其他应受款( 113 )中二级科目(二级科目长度为 5 )的年借方发生 总额和贷方发生总额。在本例中,可通过调整长度来控制所求的科目级别,如果是 3 就是 求其他应受款所有借贷方总额,如果是 7 就是所有的三级科目借贷方总额。当然其具体数 值大小根据实际编码长度为准。select left( 科目编码 ,5),sum( 借方金额 ),sum( 贷方金额 ) from 凭证库 where 科目编码 like 113%group by left( 科目编码 ,5)例 3 :上例是对年度求借贷发生总额,本语句是求出其他应受款(113 )中二级科目的每个月的借贷发生总额。同样改变数字大小可以改变所求的科
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年十五全国适老化改造统一补贴标准操作指南
- 社区治理与服务体系建设规划
- 文化旅游行业趋势分析及战略布局报告
- 会计从业者面试要点与准备
- 儿童阅读习惯培养:家长必读指南
- 人工智能技术发展趋势与挑战分析报告
- 黑龙江省哈尔滨市平房区2025年中考二模语文试题
- 社交媒体对现代社会的影响研究
- 小学课外阅读与实践
- 汽车零部件企业质量管理体系构建
- 2026江苏苏州市昆山市自然资源和规划局招聘编外人员8人笔试参考题库及答案解析
- 2026年及未来5年市场数据中国演出行业市场发展数据监测及投资潜力预测报告
- (新教材)2026年部编人教版二年级下册语文 第7课 我不是最弱小的 课件
- 2026年学士学位英语测试题及答案
- 2026年甘肃平凉市华亭煤业集团有限责任公司招聘笔试参考题库附带答案详解
- (一模)2026年深圳市高三年级第一次调研考试政治试卷(含官方答案)
- 上海市普陀区学校(五四制)2025-2026学年六年级上学期期中语文试题(解析版)
- 2026广东清远市清城区医疗卫生共同体总医院招聘编外工作人员42人笔试参考题库及答案解析
- 园林绿化工国家职业技能标准
- 智联招聘考试题库及答案
- 施工晴雨表1(最终版)
评论
0/150
提交评论