【问题标题】:ICannot figure out how to run queries for student我不知道如何为学生运行查询
【发布时间】:2014-07-08 00:25:19
【问题描述】:

这是我为每个表创建的代码,不知道如何连接表来计算 gpa?

CREATE TABLE Student(SSN NUMBER(4) NOT NULL,
SName VARCHAR(20) NOT NULL,
Major VARCHAR(4),

【问题讨论】:

  • 你能举一个你试过的查询的例子吗
  • 有例子吗?到目前为止,您尝试了什么,还需要清理该代码,几乎无法辨认。
  • 从成绩中选择 AVG(成绩);我知道这可以让我获得成绩表中的平均值,但我需要计算课程表中每个学生的总学分,然后除以学生在成绩表中取得的成绩,不知道该怎么做??
  • 您意识到 Student 无法链接到其他表,因为 SSN 与 Course 或 Grade 表中的任何内容都不匹配?
  • 在成绩表中匹配

标签: sql sqlplus


【解决方案1】:

因为成绩和SSN在成绩表中,所以不需要加入,可以这样得到平均成绩:

这给出了每个学生的平均成绩,按成绩排序:

SELECT AVG(g.Grade), g.SSN
FROM Grade g
group by g.SSN
order by AVG(g.Grade)

如果您希望每门课程的平均成绩如下所示:

SELECT AVG(g.Grade), g.cno
FROM Grade g
group by g.cno
order by AVG(g.Grade)

但是,如果您需要学生提供更多信息,则需要加入学生表:

select *
from (
   SELECT AVG(g.Grade) as average_grade, g.SSN
   FROM Grade g
   group by g.SSN) a
inner join Student s on a.ssn = s.ssn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多