如何 select 学生三科成绩均低于 100

How to select students with marks in all three subjects less then 100

我遇到了这个question

这是我的回应,我最近才开始学习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;

您无需按结果分组,因为每个 table 对应每个 roll_number 应该有一行。 您没有正确加入。现在只需将 group by 和 having 子句替换为 where 条件即可检查所有三个主题的总和是否小于 100。如果它小于百那么 select roll_number 和名称。

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;

您可以使用以下查询获取学生信息。

Select std.roll_number, std.name 
from student_information std
join examination_marks exm
on std.roll_number = exm.roll_number
where (subject_one + subject_two + subject_three) < 100;