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
这确实困扰了我一段时间。我正在尝试为 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