我有两张桌子,存储候选人和他们的成绩。简单的加入可以通过匹配ID等来获得所有候选人及其成绩。
e.g:
Alan C
George A
等。但是:
Nina
Nina的成绩是无效的,因为她没有参加考试。
如何获得如下输出?
Alan C
George A
Nina
即使她没参加考试,仍然可以得到妮娜。我尝试过空检查,然后执行某些操作等等。
由于
答案 0 :(得分:7)
您想使用左连接。
select c.name, coalesce(g.grade,'')
from candidate c
left join grade g
on c.candidate_id = g.candidate_id
答案 1 :(得分:1)
您需要使用left join
。例如:
select c.name, g.grade
from candidates c
left join grades g on g.candidateid=c.id
左连接始终列出连接“左”侧的所有行 - 在本例中为候选。在候选者在成绩表中没有条目的行上,从该表填充的所有列都将为空。
答案 2 :(得分:1)
您需要使用左连接。