`
wuhaidong
  • 浏览: 349151 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

几道经典のSQL笔试题目

阅读更多

(1)表名:购物信息

 

购物人     商品名称    数量

   A           甲             2

   B           乙             4

   C           丙             1

   A           丁             2

   B           丙             5

 

给出所有购入商品为两种或两种以上的购物人记录

 

答:select * from 购物信息 where 购物人 in (select 购物人 from 购物信息 group by 购物人 having count(*) >=2);

 

 

(2)表名:成绩表

 

姓名     课程     分数

 

张三     语文      81

张三     数学      75

李四     语文      56

李四     数学      90

王五     语文      81

王五     数学      100

王五     英语       49

 

给出成绩全部合格的学生信息(包含姓名,课程,分数) , 注:分数在60分以上评为合格

 

答:select  *  from 成绩表  where  姓名  in  (select  姓名  from  成绩表  group by  姓名  having min(分数) >=60);

 

 

(3)表名:商品表

 

名称    产地     进价

 

苹果    烟台     2.5

苹果    云南     1.9

苹果    四川     3

西瓜    江西     1.5

西瓜    北京     2.4

 

给出平均进价在2元以下的商品名称

 

答:select 名称 from 商品表 group by 名称 having avg(进价) <2;

 

 

 

(4)表名:高考信息表

 

准考证号     科目    成绩

2006001   语文    119

2006001   数学    108

2006002   物理    142

2006001   化学    136

2006001   物理    127

2006002   数学    149

2006002   英语    110

2006002   语文     105

 

给出高考总分在600以上的学生准考证号

 

答:select 准考证号 from 高考信息表 group by 准考证号having sum(成绩) >=600;

 

 

(5)表名:高考信息表

 

准考证号        数学    语文    英语    物理    化学

2006001      108    119    98      127    136

2006002      149    105    110    147    129

 

给出高考总分在600以上的学生准考证号

 

答:select 准考证号  from 高考信息表  where  (数学+语文+英语+物理+化学)>600;

 

 

(6)表名:club

 

id     gender     age

 

67      M            19

68      F             30

69      F             27

70      F             16

71      M             32

 

查询出该俱乐部里男性会员和女性会员的总数

 

答:  select gender,count(id)  from  club  group by gender;

 

 

(7)表名: team

 

id(number)    name(varchar2)

 

1     a

2     b

3     b

4     a

5     c

6     c

 

要求:执行一个删除语句,当Name列上有相同时,只保留ID这列上值小的

例如:删除后的结果应如下:

 

id(number)     name(varchar2)

1                     a

2                     b

5                     c

 

请写出SQL语句。

 

delete from team where name not in( select name from team group by name having min(id));

 

 

(8) 表名: student

 

name   course    score

 

张青      语文        72

王华      数学        72

张华      英语        81

张青      物理        68

张立      化学        98

张青      化学        76

 

查询出'张'姓学生平均成绩大于75分的学生信息

 

select * from student where name in ( select name from student where name like '张%' group by name having avg(score)>75);

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics