【发布时间】:2014-02-14 15:33:16
【问题描述】:
我有两个 MySql 表:contracts 和 customers。客户可能有与之相关的合同。有些合同没有客户就存在,有些客户没有合同。我需要查询所有客户和合同,并在可能的情况下将它们加入同一行。在没有找到合同或客户的行中,我想简单地放置NULL。
就目前而言,我只返回两者都存在的行。我意识到这就是 join 的用途,但我不确定如何简单地返回所有内容。不指定 JOIN 子句会多次返回每个结果,这也不会。
这是我目前的 SQL 不足:
SELECT cu.ID, cu.`Name`, cu.Contract, co.ID, co.`Type`
FROM test.customers cu
INNER JOIN test.contracts co ON co.ID = cu.Contract;
任何帮助将不胜感激。
【问题讨论】:
-
你正在寻找一个 MySQL 不支持的
full outer join。
标签: mysql