#####答案1
select studentname,gradename,subjectname,examdate,studentresult
from result r
join student s
on r.studentno=s.studentno
join course c
on r.subjectno=c.subjectno
join grade g
on c.gradeid=g.gradeid
where examdate=
(
select max(examdate) from result
where studentno=r.studentno and subjectno=r.subjectno
)
order by convert(studentname using gbk),gradename,subjectname
;
#我的----有问题--已修正,内连接先连谁不讲究,但是什么表相邻是讲究的
select studentname,gradename,subjectname,examdate,studentresult
from grade
join course
on grade.gradeid=course.gradeid
join result r
on course.subjectno=r.subjectno
join student
on student.studentno=r.studentno
where examdate=
(
select max(examdate) from result
where studentno=r.studentno and subjectno=r.subjectno
)
order by convert(studentname using gbk),gradename,subjectname
;
#我的----有问题---会串年级,即不是这个年级学的课却展示了
select studentname,gradename,subjectname,examdate,studentresult
from grade
join student
on student.gradeid=grade.gradeid
join result r
on student.studentno=r.studentno
join course
on course.subjectno=r.subjectno
where examdate=
(
select max(examdate) from result
where studentno=r.studentno and subjectno=r.subjectno
)
order by convert(studentname using gbk),gradename,subjectname
;
串行