我有3张学生/学校信息表。
*students* table has ID | First Name | Last Name
*classes* table has ID | Class Name | Department
*matrix* table has ID |class_id | student_id
我需要进行查询并获取矩阵表中没有匹配项的所有学生,所有类和NULL。 矩阵表基本上是我写下每个学生注册的班级的地方。
我用过
SELECT *
FROM matrix
LEFT JOIN students AS students ON matrix.student_id = students.id
LEFT JOIN classes AS classes ON matrix.class_id = classes.id
但这只会让那些有匹配科目的学生回归。我还需要没有匹配课程的学生。
示例:http://sqlfiddle.com/#!9/bc9bf/2/0
在小提琴中,我希望 Johanna 也会在查询中显示NULL |相应的class_id
和student_id
答案 0 :(得分:1)
加入应该使用students
作为左表
select * from students s
left join matrix m on m.student_id = s.id
left join classes c on c.id = m.class_id;