数据库SQL笔试题(问答题-篇幅简短)

1.       数据库中成绩表中有字段:姓名、科目、分数,请按照以下要求编写SQL语句。

(1)       (1)请计算出每一个科目的平均分

(2)       (2)请查找出平均分大于等于60分的学生

(3)       (3)请查找出语文成绩大于60分并且小于80分的学生,并按照从高到低进行排序

 

----------------------------------------------------------------------------------------------

2. 请用一句SQL取出成绩表(表名table1)中成绩(字段名P1)排名后30成绩的所有人员名单,请注意:如有并列成绩的人员,需要一并列出,例如成绩45分是后30名成绩,但得45分的有10人,那么这10人需要全部列出。(5分)

仅写出思路且写对得1分,思路:首先取出不重复的后30名成绩集合,然后在全表中找出在此集合中的所有行
 写出select  top 30 * from table1 得1分
 写出select  top 30 * from table1 order by p1得2分
 写出select * from table1 where p1 in(select top 30 p1 from table1 order by p1) order by p1; 得3分
 写出:select * from table1 where p1 in(select DISTINCT Top 30 p1 from table1 order by p1) order by p1; 得5分

---------------------------------------------------------------------------------

猜你喜欢

转载自dy-f.iteye.com/blog/1882400