関係代数 (関係モデル)
R UNION S
右外結合(右外部結合、右結合、right outer join)は左外結合とほとんど同じ振る舞いをするが、左外結合の場合とは逆に、右外結合の対象となる2つの関係のうち2番目の関係に現れる組に相当する組が、右外結合の結果として返される関係に全て現れるという点で異なっている。 関係Rと関係Sがある場合の右外結合 R X= S を考える。 右外結合の結果として返される関係は、 R と S においてこの2つの関係に共通する名前の属性の属性値が全て互いに等しい組の集合に加え、Sの組でRに対応づけられない組の集合から、構成される関係である。
例
この例で R と S で共通の名前を持つ属性に関して R に共通する組が無い S の組については、右外結合で返される関係においては null の値が設定される。 S で属性 A の値が 10 である組については、対応する R の組が無いため、完全外結合で返される関係で、null が出現している。
数学的には、右外結合は自然結合と集合和とで模擬実行できる。
R X= S = S ∪ (R ⋈ {\displaystyle \bowtie } S)
SQL
R RIGHT OUTER JOIN S
ただし一部の研究者などの人々(クリス・デイトやヒュー・ダーウェンなど)は、SQLに対して、関係モデルを考案したエドガー・F・コッドの関係代数を完全な形で実装していないなどとして、批判的な立場をとっている。 デイトとダーウェンは完全な実装として D(Tutorial D)を考案し提唱している。
関係は何らかの述語の外延と解釈することができるので、関係代数の各々の演算子は述語計算に相当するものと解釈できる。 例えば、自然結合は論理積 AND( ∧ {\displaystyle \land } )に相当する。 関係 R と関係 S があり、それぞれ述語 p1 と述語 p2 の外延を表現したものとすると、R と S の自然結合(R ⋈ {\displaystyle \bowtie } S)は、述語 p1 ∧ {\displaystyle \land } p2 の外延を表現する。
関係代数の演算子の正確な集合は、関係代数の定義により異なり得る。 また関係代数の演算子の正確な集合は、名前付けを行わない関係モデル(数学的な関係を採用している)を使うか、それとも名前付けを行う関係モデル(数学的な関係の名前付けによる一般化を採用している)を使うか、ということにも依存している。 この項目の説明では、名前付けを行う関係モデルを使うことにする。 名前付けを行う関係モデルは、コッドが提唱したものであり、一定の人々によりコッドの最も重要な革新的業績と考えられている。
拡張(extend)は、ある関係に何らかの式に基づいて算出される新たな属性が、追加された関係を返す演算である。