Mysql 如何选择三门学科成绩均低于100分的学生

Mysql 如何选择三门学科成绩均低于100分的学生,mysql,sql,sql-server,database,analysis,Mysql,Sql,Sql Server,Database,Analysis,我遇到了这个 这是我的回应,我最近才开始学习SQL Select a.roll_number , a.name , b.roll_number from student_information a join examination_marks b on a.roll_number = b.roll_number Group by roll_number Having Sum(subject_one.examination_marks + sub

我遇到了这个

这是我的回应,我最近才开始学习SQL

Select a.roll_number
     , a.name
     , b.roll_number 
  from student_information a
  join examination_marks b
    on a.roll_number = b.roll_number
 Group 
    by roll_number
 Having Sum(subject_one.examination_marks + subject_two.examination_marks + subject_three.examination_marks) < 100;
选择一个卷号
,a.姓名
,b.卷号
来自学生信息a
参加考试b
在a.roll\u编号=b.roll\u编号上
团体
按卷号
总和(科目一、考试成绩+科目二、考试成绩+科目三、考试成绩)<100;

您不需要按结果分组,因为每个表中的每个卷号都应该有一行。 你做得对。现在只需将group by和having子句替换为where条件,以检查所有三个主题的数字之和是否小于100。如果小于100,则选择卷号和名称

Select a.roll_number, a.name 
from student_information a
inner join
examination_marks b
       on a.roll_number = b.roll_number
where (subject_one + subject_two + subject_three )< 100;
选择一个卷号、一个名称
来自学生信息a
内连接
考试成绩b
在a.roll\u编号=b.roll\u编号上
式中(受试者一+受试者二+受试者三)<100;

您通常按照所选的相同列进行分组,但设置函数的参数除外。您是否创建了表和插入的数据?您的查询是否返回正确的结果?
roll\u number
是两个表中的主键,因此是1:1关系。这意味着您不需要分组,只需添加即可。另一方面,别名的概念是它们将使查询更具可读性。像
a
b
这样的任意别名的作用正好相反。改用助记名称,例如
si
i
表示
学生信息
em
m
表示
考试分数
。问题是什么?