用sql如何查询课程成绩排名呢?
1、查询“001”课程比“002”课程成绩高的所有学生的学号:
SELECT * FROM tblScore ts1, tblScore ts2
WHERE ts1.stuid = ts2.stuid AND ts1.courseid = '001' AND ts2.courseid = '002
AND ts1.score > ts2.score
2、查询平均成绩大于60分的同学的学号和平均成绩:
SELECT stu.stuid, AVG(score.score)FROM tblstudent stu, tblscore score
WHERE stu.stuid = score.stuid GROUP BY stu.stuid
HAVING AVG(score.score) > 60
3、 查询所有同学的学号、姓名、选课数、总成绩:
SELECT stu.stuid, stu.stuname,COUNT(score.courseid),SUM(score.score)
FROM tblstudent stu, tblCourse course, tblScore score
WHERE stu.stuid = score.stuid AND course.courseid = score.courseid
GROUP BY stu.stuid,stu.stuname ORDER BY stuid
扩展资料
查询数据库使用SELECT命令。 这个命令相对比较复杂。可变化样式较多,这里分功能依次讲解。
1、查询数据表中所有数据 语法:select * from 表名。
2、查询指定字段的显示 语法:select 字段1,字段2,... from 表名。
3、as 别名 在查询时,默认结果显示的字段和表中字段名相同,可以通过别名来修改显示的样式 语法:select 字段1 as 别名,字段2 别名,... from 表名。在给字段起别名时,可以使用 as ,也可以直接在字段后跟别名,省略 as 。
4、消除重复数据 在查询数据时,查询结果可能会有很多重复的数据,如果不想重复,可以使用 distinct 来实现去重。 语法:select distinct 字段名 from 表名。distinct 在去重时,会比较所有的指定字段,只有完全相同时才认为是重复的。
5、带条件查询 where 子句 查询数据时,需要根据不同的需求设置条件。 通过 where 子句来设置查询条件。
参考资料