http://404278454.qzone.qq.com/

拓宽思路,几道经典的SQL笔试题目

上一篇 / 下一篇  2008-12-09 14:44:39 / 个人分类:数据库

51Testing软件测试网h5~\"{)r'i

(1)表名:购物信息
;Jzd m)ZD6k p0购物人      商品名称     数量51Testing软件测试网Je%C/B,s%k#{
A            甲          2
/Y6MGi _(k0B            乙          451Testing软件测试网 ?!O:h%ja/T
C            丙          151Testing软件测试网+Upl? vFf
A            丁          2
Ob#I)AO(_ i9W[0B            丙          551Testing软件测试网$G ] C&R9Y'SS6F0V
……51Testing软件测试网-g;pc&g2W
其他用户实验的记录大家可自行插入)51Testing软件测试网7EX ss8_/_#G7RW-oQ

;D*f8c^"I)C0给出所有购入商品为两种或两种以上的购物人记录51Testing软件测试网;^2~*e I a4n

n%U#VA%M9m4Z*z0 

3@%INxr0FVo051Testing软件测试网 L#ue XIFYRz

(2)表名:成绩表51Testing软件测试网2X'Vo'B s1Gpz
姓名   课程       分数51Testing软件测试网1}IaVy5I)FP,A4T
张三     语文       81
W#ry MK[^+h%b0张三     数学       75
#o)`2Qy:Eh%Fy0李四     语文       5651Testing软件测试网7{1?H+w/@_1t$Au
李四     数学       90
x:R Rh ~3CY2IX?X0王五     语文       8151Testing软件测试网O\1B]D#p{9v
王五     数学       100
F$[ [7e#i1Md(~0王五     英语       4951Testing软件测试网.a\ u,{!fezU,L/s
……
9SO,gA+^3\aC0(其他用户实验的记录大家可自行插入)

8h BGe"W%oQ k$z0

aK-tD7y*|U `$\7p0给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格

6Bn H6m j3m ~/}051Testing软件测试网2jlb @BR

 51Testing软件测试网 {:f'r eUV uZd

51Testing软件测试网&a9Q:m5ks~r m

51Testing软件测试网+rQw8Q]5uS(B)PT
(3)表名:商品表51Testing软件测试网D)e0B5hNmr6q
名称   产地             进价
7HtHNwPT&Tu8\%N.i0苹果   烟台  2.551Testing软件测试网|!mM;^|~^6S-U
苹果   云南  1.951Testing软件测试网8|M [a;KV5c4gG
苹果   四川  3
7oI*_+Q }4TV*@ Vlk0西瓜   江西  1.5
1u0okMow Ij0西瓜   北京  2.451Testing软件测试网'V*yh x ahT!f"?
……51Testing软件测试网&@p0W3M\
(其他用户实验的记录大家可自行插入)

Es)sO0t6j O8pm3k0

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

!dE _ V5d4U0~/R0

-QMT)pK2^0 51Testing软件测试网@L6W W*G1YW

51Testing软件测试网\9~na/by)Z

(4)表名:高考信息表
S-Xy VP%q/H8^:y0准考证号   科目       成绩51Testing软件测试网9N:c.o$LD[u
2006001     语文       119
c'E)E1pn.b${9Vl!o02006001     数学       108
N3J1Y:fZ'jg:b9sK02006002     物理       142
Yf'?'L9H[*xrK!P/h02006001     化学       13651Testing软件测试网 ^.i;u/Q#j-_
2006001     物理       127
6B {Cf @%FG vN q5D02006002     数学       14951Testing软件测试网w P%q2t.SvaS-LfB(E
2006002     英语       11051Testing软件测试网2y"Ff U0I
2006002     语文       10551Testing软件测试网qM D[ rdo
2006001     英语        9851Testing软件测试网3g5Y,SZKH:i
2006002     化学       129
1r-c!|_o!D0……51Testing软件测试网Iyr:\Ld3y9q;L
(其他用户实验的记录大家可自行插入)

u"N7cH}0

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

X(iK Or {0

aC}E]*Q%R0 51Testing软件测试网+@~&M6]K{}'C

FX+WZ5M!c!q0(5)表名:高考信息表51Testing软件测试网SM%Y:EH'v%{
准考证号 数学 语文 英语 物理 化学
g-m#j*{%h3sVr:T02006001         108  119  98 127  13651Testing软件测试网~]Cq5Ns
2006002         149  105 110 142  129
/Q%XvW-G!p }]0Qlu0……51Testing软件测试网 E5M iSx+Q4TL r|%z/}0c
(其他用户实验的记录大家可自行插入)

hlkpT!R&j051Testing软件测试网v&J&R,i:IE7bd

给出高考总分在600以上的学生准考证号51Testing软件测试网 N;V*p1X OiQ

51Testing软件测试网}g}]\Y7X

 51Testing软件测试网4|8i&` es\]t.`


TAG: 数据库 SQL

晓蕾,you  forerver lucky! 引用 删除 晓蕾LUCKY   /   2008-12-11 09:03:07
谢谢。LZ提供的答案。偶认真拜读了。
请教下大家:删除表的第一条记录SQL语句怎么写?
我写的是delete top 1 from 表名 SQL SERVER里运行了一下执行不了?
mm__ 引用 删除 mm__   /   2008-12-10 22:02:00
1题如果只需查询用户名字用嵌套查询就增加了语句的复杂性。可直接写成这样:

select  购物人 from 购物信息 where group by 购物人 having count(购物人) >= 2);
愚人:喻世 引用 删除 m_r3326   /   2008-12-09 15:29:11
(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 姓名 not in (select distinct 姓名 from 成绩表 where 分数 < 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
2006001            英语        98
2006002     化学       129
……
(其他用户实验的记录大家可自行插入)

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

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

(5)表名:高考信息表
准考证号        数学        语文        英语        物理        化学
2006001                108         119         98        127         136
2006002                149         105        110        142         129
……
(其他用户实验的记录大家可自行插入)

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

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



(四部分)
(一)表名: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

(二)表名: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 id not in (select min(id) from team group by name)

(三)表名:student

name course score
张青 语文     72
王华 数学     72
张华 英语     81
张青 物理     67
李立 化学     98
张燕 物理     70
张青 化学     76

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

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

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9677
  • 日志数: 12
  • 建立时间: 2008-11-27
  • 更新时间: 2009-08-21

RSS订阅

Open Toolbar