问题
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