用sql如何查询课程成绩排名呢?

1 、查询“001 ”课程成绩高于“002 ”课程成绩的学生的学号: sql 选择 ts1 .stuid 来自 tblScore ts1 、tblScore ts2 其中 ts1 .stuid = ts2 .stuid AND ts1 .courseid = '001 ' AND ts2 .courseid = '002 ' AND ts1 .score > ts2 .score
2 、查询平均分大于6 0分的学生的学号和平均分: sql SELECT Stu.stuid, AVG(score.score) AS avg_score FROM tblStudent Stu, tblScore 分数 WHERE Stu.stuid = 分数.stuid 按研究分组 平均得分 (score.score) > 6 0
3 、查询所有学生的学号、姓名、所修课程数、总成绩: sql SELECT Stu.stuid, Stu.stuname, COUNT(score.courseid) AS course_count, SUM(score.score) AS 总分 FROM tblStudent Stu、tblCourse 课程、tblScore 分数 WHERE Stu.stuid = 分数.stuid AND course.courseid = 分数.courseid 按 Stu.stuid、stu.stuname 分组 按 Stu.stuid 订购
数据库查询确实很复杂,但是如果掌握了基本的语法和逻辑,就可以高效地解决问题。

查出总分前3分数由高到低的学生姓名和总分数的sql

对于 SQL Server 2 005 及更高版本,此脚本非常清晰。
请参阅:
sql int 分数(sname varchar(3 0) 这意味着声明一个名为@t的临时表,其中包含三列:学生姓名是姓名,科目是科目,分数是分数。
所有类型均为 varchar 或 int。

但是当你命名SQL Server 2 000时,你正在使用一些当时的旧方法。
例如,选择temp_table或直接在存储过程中定义表类型。
2 000 年的情况与现在并没有太大不同。

说实话,这个清表方法在2 005 年以后的版本中使用起来非常方便,刚开始使用的时候我很困惑,但是后来我就很容易就明白了。
在2 000年代做这件事确实耗费了很多脑细胞。