答案
1 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
1.1 查询同时存在" 01 "课程和" 02 "课程的情况
1.2 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
27. 查询课程名称为「数学」,且分数低于 60 的学生姓名和分数
28. 查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)
29. 查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数
30. 查询不及格的课程
31. 查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名
32. 求每门课程的学生人数
33. 成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩
34. 成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩
35. 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩
36. 查询每门功成绩最好的前两名
37. 统计每门课程的学生选修人数(超过 5 人的课程才统计)。
38. 检索至少选修两门课程的学生学号
39. 查询选修了全部课程的学生信息
40. 查询各学生的年龄,只按年份来算
41. 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
42. 查询本周过生日的学生
43. 查询下周过生日的学生
44. 查询本月过生日的学生
45. 查询下月过生日的学生
-- 写法一:
select * from student
where sid in
(select a.sid from sc a
join sc b on a.sid = b.sid
where a.cid = 01
and b.cid = 02
and a.score > b.score);
-- 写法二:
select student.* from student,sc a,sc b where a.SId=b.SId AND a.CId=01 AND
b.CId=02 AND a.score>b.score AND a.SId=student.SId;
-- 写法一:
select * from sc a
join sc b on a.sid = b.sid
where a.cid = 01
and b.cid = 02;
-- 写法二:
select * from sc AS a,sc AS b where a.SId=b.SId AND a.CId=01 AND b.CId=02;