我的DB中设置了以下表:
student (sid, sname, gender, gpa)
department (dname, numphds)
professor (pname, dname)
course (cno, cname, dname)
major (dname, sid)
enroll (sid, grade, dname, cno)我正试图解决这三个问题,我想不出:
第三,到目前为止,我得到了以下内容:
query6 = ''' SELECT sname, major.dname
FROM student
JOIN major ON student.sid = major.sid
JOIN enroll ON enroll.sid = student.sid
JOIN course ON course.cno = enroll.cno
WHERE cname = "Thermodynamics"
AND course.dname = "Chemical Engineering"
'''发布于 2022-02-28 19:47:41
我不太了解SQL是如何工作的,所以这是查询的一个方向。
为#1:
SELECT dname FROM department WHERE dname NOT IN (
SELECT DISTINCT dname FROM enroll WHERE cno = (
SELECT cno FROM course WHERE cname = 'Compiler Construction course'
)
)对于#2:我将告诉你如何获得dname,但你必须自己获得平均值,也许可以通过查看或类似的方式获得。
SELECT dname FROM department WHERE dname NOT IN (
SELECT DISTINCT dname FROM enroll WHERE sid NOT IN(
SELECT sid FROM student WHERE gpa < 1.5
)
)第三,我认为你忘记了主修专业的钥匙,因为在同一个系读两次专业的学生会有相同的sid和相同的dname。
https://stackoverflow.com/questions/71299934
复制相似问题