MySQL 内连接查询返回空集

MySQL Query with Inner Joins Returning Empty Set

这确实困扰了我一段时间。我正在尝试为 return 所有课程(名称)、他们的讲师(姓名)及其先修课程(如果存在)编写一个 SQL 查询。但是我的查询不起作用,我不知道该怎么做了。我一直得到一个空集 returned.

SELECT course, instructors.inst, 
something 
FROM courses a inner join instructors ON a.course_id = instructors.inst_id
INNER JOIN courses b ON a.prereq = b.course_id where a.prereq IS NOT NULL;

我是不是对多重内部连接做错了什么?任何帮助将不胜感激。

LEFT OUTER JOIN 应该为您提供 result.Inner 联接 return 只有在所有联接表中都有数据的情况下才会产生结果。

试试这个

SELECT a.course_name AS "Course", instructors.inst_name AS "Instructor", 
b.course_name AS "Prereq"
FROM courses a
LEFT OUTER JOIN instructors ON a.course_id = instructors.inst_id
LEFT OUTER JOIN courses b ON a.prereq = b.course_id