如何从多个SQL表中选择数据?

如何从多个SQL表中选择数据?,sql,Sql,我有两个表,如下所述: 等级 student id, exem1, exam2, exam3 student id, names 名称 student id, exem1, exam2, exam3 student id, names 我想显示学生的名字,他们在3次考试中的平均成绩,以及一个字母等级。字母等级计算如下: 90+是一个“A”,80-选择n.NAME作为“NAME”,当((g.exam1+g.exam2+g.exam3)/3)=90时,则为“A” 当((g.e

我有两个表,如下所述:

等级

student id, 
exem1, 
exam2, 
exam3
student id, 
names
名称

student id, 
exem1, 
exam2, 
exam3
student id, 
names
我想显示学生的名字,他们在3次考试中的平均成绩,以及一个字母等级。字母等级计算如下:

90+是一个“A”
80-
选择n.NAME作为“NAME”,当((g.exam1+g.exam2+g.exam3)/3)=90时,则为“A”
当((g.exam1+g.exam2+g.exam3)/3)小于90时,则为“B”
其他'C'
以“等级”结束
从名称为n内部连接等级为g
关于g.student\u id=n.student\u id
根据需要修改范围

> SELECT n.student_names, ((g.exam1+g.exam2+g.exam3)/3) AS 'AVERAGE_RESULT', (CASE 
              WHEN ((g.exam1+g.exam2+g.exam3)/3) =90  
                 THEN 'A' 
              WHEN (((g.exam1+g.exam2+g.exam3)/3) BETWEEN 80 AND 89)  
                 THEN 'B' 
              WHEN (((g.exam1+g.exam2+g.exam3)/3) BETWEEN 70 AND 79)  
                 THEN 'C' 
              ELSE 'D') END AS 'Student_grades',
FROM names n, grades g
WHERE n.students_id = g.students_id;
使用BETWEEN来包含范围

Mine非常类似-s.sql(“((sum(g._2))+(sum(g._3))+(sum(g._4)))/3)作为平均值,当((sum(g._2))+(sum(g._3))+(sum(g._4))/3)<90时,则“B”或“C”作为等级结束,从n上的n个内部连接等级g开始,按(n._1=g.(分组)