两个表的MySql内部联接

两个表的MySql内部联接,mysql,inner-join,Mysql,Inner Join,我确信我在这里遗漏了一些重要的东西,所以欢迎您提出任何建议。我有一个基表,我们称之为Content_1,还有两个附加表,分别称为Content_2和Content_3。我试图做的是从表2获取与表1中的id匹配的所有结果,并将表3中与表1中的id匹配的所有结果添加到此结果集中。基本上,在最终结果中有一个OR条件-返回表2中与表1中的id匹配的所有内容,或返回表3中与表1中的id匹配的所有内容。但是我看到没有返回任何结果,所以我猜我们进行第一次连接,然后第二次连接应用于第一次连接后返回的结果集,而不

我确信我在这里遗漏了一些重要的东西,所以欢迎您提出任何建议。我有一个基表,我们称之为Content_1,还有两个附加表,分别称为Content_2和Content_3。我试图做的是从表2获取与表1中的id匹配的所有结果,并将表3中与表1中的id匹配的所有结果添加到此结果集中。基本上,在最终结果中有一个OR条件-返回表2中与表1中的id匹配的所有内容,或返回表3中与表1中的id匹配的所有内容。但是我看到没有返回任何结果,所以我猜我们进行第一次连接,然后第二次连接应用于第一次连接后返回的结果集,而不是初始连接

SELECT * FROM Content_1
JOIN Content_2 ON Content_1.id = Content_2.id
JOIN Content_3 ON Content_1.id = Content_3.id

您可能希望
联合
,而不是合并所有3个表

SELECT Col1, Col2 
FROM Content_1
JOIN Content_2 ON Content_1.id = Content_2.id
UNION
SELECT Col1, Col2
FROM Content_1
JOIN Content_3 ON Content_1.id = Content_3.id

使用
左侧外部联接
而不是
内部联接
。然后它会说“给我所有来自
content\u 1
的结果,并且只给那些来自
content\u 2
content\u 3
的结果,这些结果与此连接条件匹配”。目前,对于您的
内部联接
,您说的是“仅当这两个联接条件都从各自的表返回记录时才给我记录”。感谢您的回答,我设法用左联接和where条件解决了这个问题,但union也是可行的选择。