ICannot figure out how to run queries for student

人走茶凉 提交于 2019-12-13 10:27:35

问题


Here is my code that I created for each of the tables, not sure how to join the tables to calculated the gpa's??

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

回答1:


Because grade and SSN are in the grades table, you dont need to join and can get the average grade like this:

This gives the average grade per student, ordered by the grade:

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

If you wanted average grade per course it would look like this:

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

However, if you need more information from student, you'd need to join to the student table:

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


来源:https://stackoverflow.com/questions/24515164/icannot-figure-out-how-to-run-queries-for-student

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!