我有一个表如下,我想知道,我是否仍然可以加入他们一起,而不丢失现有数据从两个表时,它们是通过引用连接方法组合。
表详细信息-查看表

SELECT
  r.domainid,
  r.DomainStart,
  r.Domain_End,
  r.ddid,
  r.confid,
  r.pdbcode,
  r.chainid,
  d.pdbcode AS "CATH_PDBCODE",
  d.cathbegin AS "CATH_BEGIN",
  d.cathend AS "CATH_END"
FROM dyndom_domain_table r
  JOIN cath_domains d ON d.pdbcode::character(4) = r.pdbcode
  ORDER BY confid ASC;

如您所见,dyndom_domain_table是我创建的一个视图表,它使我更容易将JOIN子句与具有相同pdbcode的另一个表一起使用。
到目前为止,它只返回与PDB代码匹配的所有数据。我想做的是返回所有既匹配又不匹配对方PDB代码的数据。
有什么规则可以适用吗?还是不可能?

最佳答案

我相信您需要一个完整的外部连接,而不仅仅是一个连接(默认情况下,这是一个内部连接)。在完全外部联接中,每个表中的每一行都将对应于结果表中的某一行;来自一个表中与另一个表不匹配的行将扩展为空以填充缺少的列。
所以完全的外部连接而不是仅仅连接,这应该对你有用。

09-05 05:12
查看更多