LEFT JOIN不返回NULL行

时间:2016-12-05 12:53:42

标签: mysql left-join

这个标题的问题存在很多次,但我很难弄清楚我的桌子。

我有一个课程表

id     |    name
1      |    course A
2      |    course B

以及包含课程视频的表格

course_id    |     name
1            |     video A
1            |     video B

我想检索所有课程,包括他们有多少视频。我的查询只返回课程A而不是课程B(没有视频)。但我仍然希望B课程被退回

SELECT c.name, COUNT(v.course_id) as num_videos FROM courses as c 
LEFT JOIN videos as v ON v.course_id = c.id

1 个答案:

答案 0 :(得分:3)

您在这里缺少group by

SELECT c.name, COUNT(v.course_id) as num_videos 
FROM courses as c 
LEFT JOIN videos as v ON v.course_id = c.id
GROUP BY v.course_id;