関係代数 (関係モデル)
完全外結合(完全外部結合、完全結合、単に外結合ともいう、full outer join)の結果として返される関係は、実際には左外結合と右外結合の結果を組み合わせた関係である。 関係Rと関係Sがある場合の完全外結合 R =X= S を考える。 完全外結合の結果として返される関係は、 R と S においてこの2つの関係に共通する名前の属性の属性値が全て互いに等しい組の集合に加え、Rの組でSに対応づけられない組の集合と、Sの組でRに対応づけられない組の集合から、構成される関係である。
例
この例で R と S で共通の名前を持つ属性に関して、S に共通する組が無い R の組、および R に共通する組が無い S の組については、完全外結合で返される関係においては null の値が設定される。 R で属性 A の値が 4 である組については、対応する S の組が無いため、完全外結合で返される関係で、null が出現している。 また S で属性 A の値が 10 である組については、対応する R の組が無いため、完全外結合で返される関係で、null が出現している。
数学的には、完全外結合は左外結合と右外結合 (したがって自然結合と集合和) とで模擬実行できる。
R=X=S = (R=XS) ∪ (RX=S) or R=X=S = R ∪ S ∪ (R ⋈ S)
SQL
R FULL OUTER JOIN S
関係 R と S が型適合であること。
関係Rと関係Sがある場合の左外結合(左外部結合、左結合、left outer join) R =X S を考える。 左外結合の結果として返される関係は、 R と S においてこの2つの関係に共通する名前の属性の属性値が全て互いに等しい組の集合に加え(大雑把な表現だが)、Rの組でSに対応づけられない組の集合から、構成される関係である。
例
この例で R と S で共通の名前を持つ属性に関して S に共通する組が無い R の組については、左外結合で返される関係においては null の値が設定される。 R で属性 A の値が 4 である組については、対応する S の組が無いため、左外結合で返される関係で、null が出現している。
数学的には、左外結合は自然結合と集合和とで模擬実行できる。
R =X S = R ∪ (R ⋈ {\displaystyle \bowtie } S)
SQL
R LEFT OUTER JOIN S
EXPAND R ADD (B * 2.54 AS X)