学生表/教师表/课程表/成绩表常见SQL查询(二)

2014-11-24 10:13:44 · 作者: · 浏览: 2
2. 查询各科成绩的前三名以及分数 [sql] SELECT s.Sid,s.Cid,s.Score FROM SC s WHERE s.Score IN (SELECT TOP(3) Score FROM SC WHERE s.Cid= Cid ORDER BY score DESC) ORDER BY s.Cid; /*从SC表中查询出学生学号,课程编号以及成绩,WHERE子句限制了查询出的记录成绩必须在子查询集合内 子查询查询出了各科成绩的前三名并通过课程编号和主查询关联*/ 13. 查询有不及格科目的学生的姓名,不及格科目以及不及格科目成绩 [sql] SELECT s.Sname,c.Cname,ss.Score FROM Student s JOIN SC ss ON s.Sid=ss.Sid JOIN Course c ON ss.Cid=c.Cid WHERE ss.Score<60 14. 查询所有学生都选修的课程 [sql] SELECT c.Cname FROM SC s JOIN Course c ON s.Cid=c.Cid GROUP BY c.Cname HAVING COUNT(s.Sid)=(SELECT COUNT(*) FROM Student) 15. 查询选修了两门或以上的学生姓名及选修总科目 [sql] SELECT s.Sname,COUNT(ss.Cid) AS TOTAL FROM Student s JOIN SC ss ON s.Sid=ss.Sid GROUP BY s.Sname HAVING COUNT(ss.Cid)>
1