常用-select-语句汇总WORD_第1页
常用-select-语句汇总WORD_第2页
常用-select-语句汇总WORD_第3页
常用-select-语句汇总WORD_第4页
常用-select-语句汇总WORD_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、文档可能无法思考全面,请浏览后下载! 常用SELECT语句汇总一、单表查询(一)按照条件查询相关记录Select 字段1,字段2字段N from 表 where 条件含义:从表中根据where 条件查询记录,每条记录显示的字段按照字段1、字段2.字段N的设置显示注:select语句中的标点符号及运算符必须使用英文半角字符。例1:从凭证库中查询2004年1月31日的凭证,每条凭证只显示凭证日期、凭证号、科目名称、借方金额、贷方金额、会计月份 6个字段Select 凭证日期,凭证号,科目名称,借方金额,贷方金额,会计月份 From 凭证库 where 凭证日期=2004-1-31例2:根据业务_个

2、人基本情况表,找出缴存状态为”正常”的记录,查出的记录只显示姓名、身份证号、单位账号及个人账号 4个字段Select 个人姓名,身份证号,单位账号,个人账号 from 业务_个人基本情况表 where 账户状态=1例3:从科目余额表中查询出2010年借方金额大于50万或2010年借方金额小于10万的记录,每条记录只显示摘要、科目编码、借方金额、贷方金额、年度5个字段Select摘要,科目编码,借方金额,贷方金额,年度 From 科目余额 where(借方金额>500000 and 年度=2010) or (借方金额<100000 and 年度=2010)Select top 100

3、 字段1,字段2字段N from 表 where 条件含义:从表中根据where 条件查询记录,显示前100条记录,每条记录按照字段1、字段2.字段N的设置显示9 / 11例1:从凭证库中查询2004年1月31日的前100条凭证,每条凭证只显示凭证日期、凭证号、科目名称、借方金额、贷方金额、会计月份 6个字段Select top 100凭证日期,凭证号,科目名称,借方金额,贷方金额,会计月份 From 凭证库 where 凭证日期=2004-1-31例2:根据业务_个人基本情况表,找出缴存状态为”正常”的前100条记录 Select top 100个人姓名,身份证号,单位账号,个人账号 fro

4、m 业务_个人基本情况表 where 账户状态=1(二)通配符的使用*表示将全部的字段内容都显示出来例1:从业务_电子警察表中筛选出无车号或者车牌号小于3位的记录Select * from 业务_电子警察 where 车号= or Len(车号)<3 例2:从科目余额表中查询出2002年收入大于50万的记录Select * from 科目余额 where 借方金额>500000 and 年度=2002 %表示零或多个字符例1:从凭证库中查询2003年各月的房租收入情况Select month(凭证日期) as 月份, sum(贷方金额) as 房租金额 from 凭证 where

5、摘要 like %房租% and 年度=2003例2:从凭证库中查询 2008年包含税的记录Select * from 凭证库 where摘要 like %税% and 年度=2008_表示任何一个字符例1:根据科目余额表查询出目编码为10开头的一级科目记录Select * from 科目余额 where 科目编码 like 10_例2:根据凭证库查询科目名称长度为4且以银行开始的前100条记录Select top 100 * into 银行记录表from 凭证库 where 科目名称 like 银行_ _(三)查询的记录生成新表select字段1,字段2字段N into 新表 from 旧表

6、 where 条件含义:从旧表中按照条件查询相关记录并生成新表 例1:从捐款明细账中查询并生成2005年通过邮寄汇款的捐款名单Select * into 2005年邮寄捐款表 from 业务_捐款明细表 where 捐款方式=邮寄 and year(捐款时间)=2005 例2:根据业务_个人基本情况表,找出缴存状态为”正常”的记录,生成”业务_临时_个人基本情况表” Select 个人姓名,身份证号,单位账号,个人账号 into业务_临时_个人基本情况表from 业务_个人基本情况表 where 账户状态=1(四)查询出的字段重新命名select字段1 as 字段11,字段2 as 字段22字

7、段N as 字段nn from表 where 条件或者select字段1 as 字段11,字段2 as 字段22字段N as 字段nn into 新表 from 旧表 where 条件例1:从科目余额表中查询出科目编码为4121、4125、4126、4128的记录,并把借方发生额字段重新命名为经费支出情况、贷方发生额命名为经费收入情况 select科目编码,科目名称,借方发生额 as 经费支出情况,贷方发生额 as 经费收入情况,期末余额 from 科目余额 where 科目编码 like 4121 or 科目编码 like 4125 or 科目编码 like 4128 or 科目编码 lik

8、e 4126 例2:从凭证库中查询2003年各月的房租收入情况Select month(凭证日期) as 月份, sum(贷方金额) as 房租金额 into 2003年房租收入情况表from 凭证库 where 科目编码 like 40702 and 摘要 like %租% (五)常用子句select字段into 新表 from 旧表 where 条件 order by 字段 Asc/Desc Order by 对查询结果进行排序, ASC升序排序,Desc降序排序例1:从科目余额表中查询出2002年收入大于50万的记录Select * from 科目余额 where 借方金额>500

9、000 and 年度=2002 order by 借方金额 asc例2:分析2008年人员支出构成Select 科目编码,科目名称,sum(借方金额) as 金额合计 from 凭证库 where 科目编码 like 501% group by 科目编码 order by sum(借方金额) descselect字段into 新表 from 旧表 where 条件 Group by 字段 Group by 可以快速而简便地将查询结果按照指定的字段进行分组 例1:把凭证库中的记录按照科目名称分组Select 科目名称,科目编码,借方金额,贷方金额 from 凭证库 group by 科目名称例2

10、:从凭证库中查询并2003年各月的房租收入情况Select month(凭证日期) as 月份, sum(贷方金额) as 房租金额 from 凭证 where 科目编码 like 40702 and 摘要 like %租% group by month(凭证日期)例3:从凭证库中查询科目编码为501开头的记录,并根据不同的科目编码分析借方金额情况Select 科目编码,科目名称,sum(借方金额) as 金额合计 from 凭证库 where 科目编码 like 501% group by 科目编码 order by sum(借方金额) descselect字段into 新表 from 旧表

11、 where 条件 Group by 字段 Having 分组条件Having语句通常跟在Group by语句后,作为分组后的过滤条件例1:根据凭证库查询科目名称包含事业的记录,并按照科目名称分组Select 科目名称,count(*) as 科目数量 from凭证库 group by 科目名称 having 科目名称 like %事业%例2:根据业务_缴存种类统计表,统计出单位为所有职工缴存的住房公积金金额都一样的单位账号,生成业务_临时_缴存种类统计表Select 单位账号 into 业务_临时_缴存种类统计表 from 业务_缴存种类统计表 group by 单位账号 having co

12、unt (单位金额)=1 (六)常用函数Year (日期) 返回某个日期的年份例:从捐款明细账中查询并生成2005年通过邮寄汇款的捐款名单Select * into 2005年邮寄捐款表 from 业务_捐款明细表 where 捐款方式=邮寄 and year(捐款时间)=2005 Month(日期) 返回某个日期的月份 例:从凭证库中查询2003年各月的房租收入情况Select month(凭证日期) as 月份, sum(贷方金额) as 房租金额 into 2003年房租收入情况表from 凭证库 where 科目编码 like 40702 and 摘要 like %租%Sum(数值列名

13、/数值字段名) 返回满足条件的某一数值列中的数值的总和 例1: 统计2008年凭证库借方金额的总发生额Select sum(借方金额) as 借方金额汇总 from 凭证库 where 年度=2008例2:根据业务_手续费返还表查询2005年、2006年,不同客户的返还金额合计Select 客户代码,sum(返还金额) as 返还金额合计 into 业务_手续费返还汇总表 from 业务_手续费返还表 where year(日期)=2005 and year(日期)=2006 group by 客户代码 例3:分析2008年人员支出构成Select 科目编码,科目名称,sum(借方金额) as

14、 金额合计 from 凭证库 where 科目编码 like 501% group by 科目编码 order by sum(借方金额) descLeft(字符串,数值表达式) 字符串左截取函数例:根据业务_个人缴存明细表,找出2005年缴存状态正常的缴存记录,生成业务_临时_个人缴存明细表Select 个人账号,所属年月 into 业务_临时_个人缴存明细表 from 业务_个人缴存明细表 where left(所属年月,4)=2005 and 缴存类型<>6Count(列名/字段名) 返回满足where条件的记录行数,字段名也可用*代替例1:统计个人业务表中每年参保人数Sele

15、ct count(year(所属年度) as 参保人数, year(所属年度) from 个人业务 where 参保状态=1例2:统计凭证库的记录数Select count(*) as 总记录数 from凭证库例3:根据业务_缴存种类统计表,统计出单位为所有职工缴存的住房公积金金额都一样的单位账号,生成业务_临时_缴存种类统计表Select 单位账号 into 业务_临时_缴存种类统计表 from 业务_缴存种类统计表 group by 单位账号 having count (单位金额)=1 Abs(数值) 绝对值函数例:按账号汇总全年的支出额select 账号,户名,sum(abs(发生额)

16、as 全年支出额 from 业务_存款交易明细表 where 发生额<0 group by 账号Len(字符串)返回某字符串的长度例1:根据凭证库查询科目名称长度为4且以银行开始的记录Select * into 银行记录表from 凭证库 where 科目名称 like 银行% and Len(科目名称)=4例2:查询科目余额表一级科目编码的记录Select * into 一级_科目余额表 from 科目余额 where Len(科目编码)=3二、多表查询Select字段1,字段2字段N from 表1 join 表2 on 表1.字段 <关系运算符> 表2.字段 where

17、 条件或Select A.字段1,A.字段2A.字段N, B.字段1,B.字段2B.字段N from 表1 as A join 表2 as B on A.字段 <关系运算符> B.字段 where 条件或Select A.字段1,A.字段2A.字段N, B.字段1,B.字段2B.字段N into 新表 from 表1 as A join 表2 as B on A.字段 <关系运算符> B.字段 where 条件含义:对两个表中类型相同的字段进行关系运算,查询符合关系运算的记录例1:查询凭证库与会计科目表中科目编码相同的记录select 凭证库.科目编码,凭证库.科目名称

18、,会计科目表.科目级别 from 凭证库 join 会计科目表 on 凭证库.科目编码=会计科目表.科目编码或者select a.科目编码,a.科目名称,b.科目级别 from 凭证库 as a join 会计科目表 as b on a.科目编码=b.科目编码例2:将预算执行表与用款计划表关联,生成预算与用款表Select a.部门,a.项目,a.支付方式,a.累计服从于出,b.期末结余,b.总计 into 预算与用款表 from 预算执行表 as a join 用款计划表 as b on a.部门=b.部门 and a.项目=b.项目 and a.支付方式=b.支出类型例3:将上线支取表和提

19、取原因表进行关联,形成带有提取原因的公积金提取表Select a.交易日期,a.单位公积金编号,a.单位名称,a.个人公积金账号,a.姓名,a.提取金额,b.提取原因,a.备注 into 公积金提取表 from 上线支取表 as a join 提取原因表 as b on a.提取原因=b.提取原因代码例4:未缴费而开户的参保情况Select a.个人帐号,a.参保人员编号,a.参保人姓名 from 缴费统计表 as a join 个人_业务信息表 as b on a.个人账号=b.id where a.个人账号 is null三、子查询、嵌套查询Select * from 表1 where 表

20、1.字段1 in (select 字段2 from 表2 where 条件)或Select * from 表1 into 新表where 表1.字段1 not in (select 字段2 from 表2 where 条件)或Select * into 新表from (select * from 表1 where 条件)含义:表2的查询结果作为表1的查询条件。子查询可以让多个查询绑定在一起例1:查询贷款人出现两次以上的贷款记录Select 贷款账号,姓名,单位,证件号码,贷款金额,贷款日期,还款日期,贷款合同号 from 业务_个人贷款表 where 证件号码 in (select 证件号码

21、from业务_个人贷款表 group by 证件号码 having count(证件号码)>1) order by 证件号码 desc 例2:有无银行存款一借一贷且科目编码为102的记录Select 凭证日期,科目编码,凭证号,摘要,借方金额,贷方金额,源凭证号 from 凭证库 where 源凭证号 in (select 源凭证号 from 凭证库 where left(科目编码,3)=102 and 借方金额<>0 and 源凭证号 in (select 源凭证号 from 凭证库 where left(科目编码,3)=102 and 贷方金额<>0)例3:利用科目表消除科目余额表中重复科目的记录,并生成新的余额表Select * into 新余额表from 余额表 where 科目 not in (select 科目号 from 科目表)例4:从收费数据库中筛选出化疗收费的记录集,生成化疗收费审计抽样表Select * into化疗收费审计抽样表 from (select 费用序号,费用名称,病人姓名,费用数量

温馨提示

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

评论

0/150

提交评论