带内连接的MySQL查询返回空集

时间:2015-10-11 07:01:01

标签: mysql sql database inner-join

这一直困扰着我。我试图写一个SQL查询来返回所有课程(名称),他们的教师(姓名)和他们的必修课程(如果存在)。但我的查询不起作用,我不知道该怎么做。我一直得到一个空集。

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;

我是否在使用多个内连接时出错?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

LEFT OUTER JOIN应该给你result.Inner join只会在你在所有连接表中都有数据的情况下返回结果。

答案 1 :(得分:0)

试试这个

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