sql语句 面试题

时间:2023-12-15 14:01:38

ql语句 面试题

自动编号   学号   姓名 课程编号 课程名称 分数

1        2005001  张三  0001      数学    69

2        2005002  李四  0001      数学    89

3        2005001  张三  0001      数学    69

4  2005001  张三  0003   语文    80

(1) 查询数学分数在表中第10名到第15名的学生信息

(2) 用一条SQL语句 查询出每门课都大于80分的学生姓名

满意答案

sql语句 面试题

/8-)P☆Z☆L 12级 2012-05-04

这个简单,看答案,采纳吧~
第一题是,用双top结构就可以查出来
1,select * from 学生表 where 学号 in
(select top 5 学号 from 成绩表 where 学号 not in(select top 10 学号 from 成绩表 order by 分数) order by 分数)

第二题是比较简单,用复合函数就行了,having
select 姓名 from 成绩表 group by 姓名 having avg(分数)>80
采纳吧~

5

提问者
的感言:

打那么多不容,只能选两个答案,我也没试,应该是对的
2012-09-05

满意答案

sql语句 面试题

随风

17级

2012-05-04

select * from table where 课程='数学' order by 分数 desc limit 10,5;

select
* from (select xuehao, sum(case when fenshu>80 then 1 else 0 end) as
shumu from table  group by xuehao ) a where shumu>课程数

5

提问者
的感言:

3Q
2012-09-05

其他回答(5)

sql语句 面试题

ooo

9级

2012-05-04

select  top 5 * from (select top 15 * from table order by 分数 where 课程名称=数学 desc )t order by t.分数

select t.姓名 from (select 姓名,min(分数) as 最小 from cjb group by 姓名 having min(分数)>85)t

sql语句 面试题

LG

1级

2012-05-04

什么数据库
sql语句 面试题

2级 2012-05-07

(1)

sql server数据库:

select top 5  * from 表名 where 课程名称="数学" not in

( select top 5*2  * from 表名 where 课程名称="数学" order by 分数 desc);

5*2的意思:5乘(要查询的页数-1)

Oracle 数据库:

select * from (select rownum r,  * from 表名  where 课程名称="数学" and r between (pageIndex-1)*5 and pageIndex*5 order by 分数 desc);

pageIndex的意思:要查询的页数,这里pagIndex是3

(2)select 姓名 from 表名 where 学号="..." and 分数>80 ;

(条件有学号,因为一个学生他有几门课的成绩)

sql语句 面试题

随风 3级 2012-05-07

第一题

如果是sql2005以上版本的可以用,sql2000不支持

select top 4 * from dbo.teacher order by t_salary desc
except
select top 1 * from dbo.teacher order by t_salary desc

如果是sql2000可以用

select top 3 * from (select top 4 * from 学生表 order by 分数 desc) a order by 分数

补充:

1.select top5 * from  table where 学号 not in(select top10 学号 form table order by 分数where  课程=‘数学’desc) order by 分数

2.select 姓名  from table where 学号 not in(select 学号 from table where 分数<=80)

sql语句 面试题

两蛋一星

6级

2012-05-16

1)  select top 6  * from table where id in( select top 15 id from table where 课程名称=‘数学’ order by 分数 desc) order by 分数 ASC
2) select 姓名 from table group by 姓名  having avg(分数)>80