如何选拔三科成绩均低于100的学生?

问题描述 投票:0回答:4

我遇到了这个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;
sql mysql sql-server database tsql
4个回答
6
投票

您无需按结果分组,因为每个表中的每个 roll_number 都应该有一行。 你的加入是正确的。现在只需将 group by 和having 子句替换为where 条件即可检查所有三个主题的数量之和是否小于100。如果小于一百,则选择 roll_number 和 name。

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;

0
投票

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

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;

0
投票

选择 STD.ROLL_NUMBER、STD.NAME 来自 STUDENT_INFORMATION STD、考试_MARKS EXM 按 STD.ROLL_NUMBER=EXM.ROLL_NUMBER 分组 有 SUM(EXM.SUBJECT_ONE+EXM.SUBJECT_TWO+EXM.SUBJECT_THREE)<100;


-1
投票
SELECT STD.ROLL_NUMBER,STD.NAME 
FROM STUDENT_INFORMATION AS STD,EXAMINATION_MARKS AS EXM 
WHERE STD.ROLL_NUMBER=EXM.ROLL_NUMBER 
  AND (EXM.SUBJECT_ONE+EXM.SUBJECT_TWO+EXM.SUBJECT_THREE)<100;
© www.soinside.com 2019 - 2024. All rights reserved.