我坚持提出一个问题“列出学生Altvater在I-2008学期学习的课程名称”如果有人能引导我走向正确的方向我会很感激。我假设我会使用某种联接。请参考此图http://www.csc.villanova.edu/~mdamian/Past/databasefa13/notes/ch07-inclassex.pdf 我知道我会在查询中的下面部分 StudentName ='Altvater'和 学期='I-2008'
答案 0 :(得分:1)
尝试以下SQL:
SELECT COURSENAME
FROM STUDENT S
INNER JOIN REGISTRATION R
ON S.STUDENTID=R.STUDENTID
INNER JOIN SECTION SE
ON R.SECTOINNO=SE.SECTOINNO
AND R.SEMESTER=SE.SEMESTER
INNER JOIN COURSE C
ON SE.COURSEID=C.COURSEID
WHERE S.STUDENTID=54907/* Altvater */
AND R.SEMESTER='I-2008'
您只需要了解编写SQL的表的基本设计。 SQL语言非常简单。如果您对此查询有任何疑问,请与我们联系。
答案 1 :(得分:1)
列名在整个架构中是一致的,允许自然连接:
SELECT DISTINCT CourseName
FROM STUDENT
NATURAL JOIN REGISTRATION
NATURAL JOIN SECTION
NATURAL JOIN COURSE
WHERE StudentName = 'Altvater'
AND Semester = 'I-2008';