架构:
Student(studentid,name,age)
Course(coursename,dept)
enroll(studentid,coursename,grade)
Run Code Online (Sandbox Code Playgroud)
我需要编写sql来查找每个年龄组的学生姓名,其中最高分为历史和政治科学系.
到目前为止我的尝试一直是
SELECT
name
FROM
student
GROUP BY age
HAVING sid IN
(
SELECT
max(grade)
FROM
enroll e,enroll e1
WHERE
e.studentid = e1.studentid
AND e.coursename = (
SELECT coursename FROM course
WHERE
dname like '%History%'
)
AND e1.coursename = (
SELECT coursename FROM course
WHERE
dname like '%PoliticalScience%'
)
)
Run Code Online (Sandbox Code Playgroud)