我有这些记录:
Table siswa
student_id | student_name |
---------------------------
1 | Abi |
2 | Bayu |
3 | Charles |
Table nilai
semester | subject | student_id | mark |
----------------------------------------
1 | 1 | 1 | 7 |
1 | 1 | 2 | 9 |
1 | 1 | 3 | 8 |
1 | 2 | 1 | 4 |
1 | 2 | 2 | 6 |
2 | 1 | 1 | 9 |
我将选择第二学期和第一科目中的所有学生姓名。我期望这样的结果:
student_name | mark
-------------------
Abi | 9
Bayu | null
Charles | null
我已经尝试过此查询,但是它不起作用。我怎样才能做到这一点?
SELECT s.name FROM siswa s LEFT OUTER JOIN nilai n ON s.student_id = n.student_id
WHERE n.semester = '2' AND n.subject = '1'
也许您正在寻找这样的东西:
SELECT s.student_name, n.mark FROM siswa s
LEFT JOIN nilai n ON s.student_id = n.student_id AND semester = 2 AND subject = 1
您需要在中处理结果left join
。如果对where
子句执行此操作,则将其删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句