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分
---------------------------------------------------------------------------------