常见SQL笔试题.doc_第1页
常见SQL笔试题.doc_第2页
常见SQL笔试题.doc_第3页
常见SQL笔试题.doc_第4页
常见SQL笔试题.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

SQL笔试题1.统计查询SQL练习数据库中表结构如下,字段分别任rg(日期),shengfu(胜负),考察group by 语句的使用:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负如果要生成下列结果, 该如何写sql 语句?胜负2005-05-09 2 22005-05-10 1 2答案:1)select rq, sum(case when shengfu=胜 then 1 else 0 end)胜,sum(case when shengfu=负then 1 else 0 end)负 from #tmp group by rq2) select N.rq,N.胜,M.负from (select rq,胜=count(*) from #tmp where shengfu=胜group by rq)N inner join(select rq,负=count(*) from #tmp where shengfu=负group by rq)M on N.rq=M.rq3)select a.col001,a.a1 胜,b.b1 负from(select col001,count(col001) a1 from temp1 where col002=胜 group by col001) a,(select col001,count(col001) b1 from temp1 where col002=负 group by col001) bwhere a.col001=b.col0012.条件判断SQL练习表中有A B C 三列,用SQL 语句实现:当A 列大于B 列时选择A 列否则选择B 列,当B 列大于C 列时选择B 列否则选择C 列答案:select (case when ab then a else b end ),(case when bc then b esle c end)from table_name3.日期统计SQL练习请取出tb_send 表中日期(SendTime 字段) 为当天的所有记录?(SendTime 字段为datetime 型,包含日期与时间)答案:select * from tb where datediff(dd,SendTime,getdate()=04.统计查询SQL练习有一张表,里面有3 个字段:语文,数学,英语。其中有3 条记录分别表示语文70分,数学80 分,英语58 分,请用一条sql 语句查询出这三条记录并按以下条件显示出来(并写出您的思路):大于或等于80 表示优秀,大于或等于60 表示及格,小于60 分表示不及格。显示格式:语文数学英语及格优秀不及格答案:select(case when 语文=80 then 优秀when 语文=60 then 及格else 不及格) as 语文,(case when 数学=80 then 优秀when 数学=60 then 及格else 不及格) as 数学,(case when 英语=80 then 优秀when 英语=60 then 及格else 不及格) as 英语,from table7.请用一个sql 语句得出结果,从table1,table2 中取出如table3 所列格式数据table1月份mon 部门dep 业绩yj答案:-一月份01 10一月份02 10一月份03 5二月份02 8二月份04 9三月份03 8table2部门dep 部门名称dname答案:-01 国内业务一部02 国内业务二部03 国内业务三部04 国际业务部table3 (result)部门dep 一月份二月份三月份答案:答案:-01 10 null null02 10 8 null03 null 5 804 null null 9答案:1)select a.部门名称dname,b.业绩yj as 一月份,c.业绩yj as 二月份,d.业绩yj as 三月份from table1 a,table2 b,table2 c,table2 dwhere a.部门dep = b.部门dep and b.月份mon = 一月份 anda.部门dep = c.部门dep and c.月份mon = 二月份 anda.部门dep = d.部门dep and d.月份mon = 三月份 and2)select a.dep,sum(case when b.mon=1 then b.yj else 0 end) as 一月份,sum(case when b.mon=2 then b.yj else 0 end) as 二月份,sum(case when b.mon=3 then b.yj else 0 end) as 三月份,sum(case when b.mon=4 then b.yj else 0 end) as 四月份,sum(case when b.mon=5 then b.yj else 0 end) as 五月份,sum(case when b.mon=6 then b.yj else 0 end) as 六月份,sum(case when b.mon=7 then b.yj else 0 end) as 七月份,sum(case when b.mon=8 then b.yj else 0 end) as 八月份,sum(case when b.mon=9 then b.yj else 0 end) as 九月份,sum(case when b.mon=10 then b.yj else 0 end) as 十月份,sum(case when b.mon=11 then b.yj else 0 end) as 十一月份,sum(case when b.mon=12 then b.yj else 0 end) as 十二月份,from table2 a left join table1 b on a.dep=b.dep8.华为一道面试题一个表中的Id 有多个记录,把所有这个id 的记录查出来,并显示共有多少条记录数。答案:select id, Count(*) from tb group by id having count(*)1select * from(select count(ID) as count from table group by ID)T where T.count19.统计查询SQL练习用一条SQL 语句查询出每门课都大于80 分的学生姓名name kecheng fenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语90A: select distinct name from table where name not in (select distinct name from tablewhere fenshu= 2);(2)表名:成绩表姓名 课程 分数张三 语文 81张三 数学 75李四 语文 56李四 数学 90王五 语文 81王五 数学 100王五 英语 49给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格答:select * from成绩表where姓名not in (select distinct姓名from成绩表where分数=60)(3)表名:商品表名称 产地 进价苹果 烟台 2.5苹果 云南 1.9苹果 四川 3西瓜 江西 1.5西瓜 北京 2.4给出平均进价在2元以下的商品名称答:select名称from商品表group by名称having avg(进价) 600(5)表名:高考信息表准考证号 数学 语文 英语 物理 化学2006001 108 119 98 127 1362006002 149 105 110 142 129给出高考总分在600以上的学生准考证号答:select准考证号from高考信息表where (数学+语文+英语+物理+化学) 600(6)表名:clubid gender age67 M 1968 F 3069 F 2770 F 1671 M 32查询出该俱乐部里男性会员和女性会员的总数答:select gender,count(id) from club group by gender(7)表名:teamID(number型) Name(varchar2型)1 a2 b3 b4 a5 c6 c要求:执行一个删除语句,当Name列上有相同时,只保留ID这列上值小的例如:删除后的结果应如下:ID(number型) Name(varchar2型)1 a2 b5 c请写出SQL语句。delete from team where id not in (select min(id) from team group by name)(8)表名:studentname course scor

温馨提示

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

评论

0/150

提交评论