LEFT JOIN
子句应该在子句之前WHERE
。
SELECT * FROM user_courses, course_updates
LEFT JOIN followers ON (followers.followee = course_updates.user_id)
WHERE user_courses.crn = course_updates.crn AND user_courses.user_id = 1
顺便说一句,您也可以为其他表使用 `INNER JOIN,因此您没有两种类型的语法:
SELECT * FROM user_courses
INNER JOIN course_updates on user_courses.crn = course_updates.crn
LEFT JOIN followers ON followers.followee = course_updates.user_id
WHERE user_courses.user_id = 1
请注意,我省略了ON
条件周围的括号,这是完全有效的。此外,您可以看到使用INNER JOIN
,您可以在连接本身中指定连接条件,WHERE
仅保留子句用于过滤。我认为这会使您的查询具有更好的可读性。