Outer join 显示内部联接未找到其他结果的数据库结果

Outer join 显示内部联接未找到其他结果的数据库结果,outer-join,Outer Join,我有两张有产品的桌子 比如: 但是现在我从两个表中都看到了,我不需要对应的是正确的英语单词?您应该使用这样的外部联接: SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.link = tab2.link 请注意,内部联接实际上执行两个表之间的交集。如果要查看联接一侧与联接另一侧的任何行都不匹配的结果,请使用外部右联接、左联接或完全联接。不匹配一侧的列将填充为空。对不起,编辑了我的起始文章。但是当我使用它时,我看到了所有的结果。@Coolen如果您能告诉我预期

我有两张有产品的桌子

比如:


但是现在我从两个表中都看到了,我不需要对应的是正确的英语单词?

您应该使用这样的外部联接:

SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.link = tab2.link

请注意,内部联接实际上执行两个表之间的交集。如果要查看联接一侧与联接另一侧的任何行都不匹配的结果,请使用外部右联接、左联接或完全联接。不匹配一侧的列将填充为空。

对不起,编辑了我的起始文章。但是当我使用它时,我看到了所有的结果。@Coolen如果您能告诉我预期的结果是什么,以及它与运行完全外部联接时得到的结果有何不同,可能会有所帮助。结果应该是:4 | 500 |1000@Coolen那么您想查看表_B中所有与表_a不匹配的行吗?然后你可以更好地像SELECT*FROM Table_B,其中link不在SELECT link FROM Table_是,还有表a中所有在表B中没有匹配项的行,我认为像SELECT*FROM Table_a完全外部连接表B在a.link=B.link中,其中a.link是Emtpy或B.link是空的,但空的不起作用,0也不起作用 id | link | price 1 | 200 | 2.00 2 | 300 | 2.50 3 | 450 | 4.00 4 | 500 | 1000 4 | 500 | 1000
SELECT *
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.link = B.link
SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.link = tab2.link