MySQL-使用LEFT OUTER JOIN和WHERE子句选择记录

伊本·麦迪尼(Ibn Madini)

我有这些记录:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章