如何在成绩表中获取每个课程名称,其中我只有课程的ID?

时间:2016-05-14 13:49:55

标签: sql

我有一个Grades表,其中包含以下字段:

-STUDENT_ID
   -COURSE_ID
   -FIRST_TERM
   -SECOND_TERM
   -Final

课程表:

-COURSE_ID
   -NAME
   -DEPARTMENT_ID

我试图获得特定学生的所有成绩,并指定每门课程的成绩,我想知道如何获得每门课程的名称?

这是我获得成绩的方式,但我也希望包括课程名称:

SELECT student_id,
       course_id,
       (first_term+second_term+final) AS "Total  Mark"
  FROM MARKS
  WHERE student_id = 1;

3 个答案:

答案 0 :(得分:0)

SELECT student_id, m.course_id,c.name as course_name, (first_term+second_term+final) AS "Total Mark" FROM MARKS M inner join course c on m.course_id = c.course_id WHERE student_id = 1;

使用标记和课程表之间的内部联接从课程表中获取名称。

答案 1 :(得分:0)

您可以使用此查询:

SELECT     s.student_id,
           s.course_id,
           c.course_name,
           (s.first_term+s.second_term+s.final) AS "Total  Mark"
FROM       marks s
INNER JOIN course c ON c.course_id = s.course_id
WHERE      s.student_id = 1

确保在两个表中使用表名时为字段名添加前缀(例如course_id)。我用表别名为所有字段添加了前缀。

表别名就像表的短名称,您可以在FROM子句中的表名后面定义它们。

答案 2 :(得分:0)

SELECT student_id,
       course_id,
       name,
       (first_term+second_term+final) AS "Total  Mark"
  FROM MARKS m, Course c
  WHERE (student_id = 1) and c.course_id=m.course_id;