在SQL中组合数据行和非数据行
表:马克M[身份证、受试者、马克] 测试学生ID:100101 要求:我们需要“数学”科目的两名学生的分数。 情况:101号学生缺席数学考试。所以101学生的分数表中不会有任何记录 预期结果:在SQL中组合数据行和非数据行,sql,join,Sql,Join,表:马克M[身份证、受试者、马克] 测试学生ID:100101 要求:我们需要“数学”科目的两名学生的分数。 情况:101号学生缺席数学考试。所以101学生的分数表中不会有任何记录 预期结果: Student ID Subject Mark 100 Maths 45 101 Maths 0 也就是说,我们需要为学生101增加一行,主题=数学,分数=0 提前感谢您可以尝试使用left join select * from students a left joi
Student ID Subject Mark
100 Maths 45
101 Maths 0
也就是说,我们需要为学生101增加一行,主题=数学,分数=0
提前感谢您可以尝试使用left join
select * from students a left join marks b
on a.studentid=b.studentid
你可以用左键连接
select s.*, m.*
from student s
left join Mark m on m.Id = s.id
left join retrive行如果值不匹配假设您有多个科目并且只对数学感兴趣,那么您需要小心筛选:
select s.*, 'Maths' as subject, coalesce(m.mark, 0) as mark
from student s left join
mark m
on m.Id = s.id and m.subject = 'Maths';
编辑问题并添加一些示例数据&期望的结果会有所帮助。