右外部結合

右外部結合 は、表を結合する方式です。 結果には、RIGHT OUTER JOIN 節より後に指定された表からの一致しない行のみが含まれます。

2 つの表を結合し、結果セットに一方の表のみからの一致しない行が含まれるようにする場合は、LEFT OUTER JOIN 文節または RIGHT OUTER JOIN 文節を使用します。 マッチングは結合条件に基づいて行われます。

文節 RIGHT OUTER JOIN は、RIGHT OUTER JOIN の後に指定された 表の行で、RIGHT OUTER JOIN の前に指定された表に一致する値を持たない行を組み込みます。

内部結合と同様に、結合条件は、副照会を含まない 単純検索条件または複合検索条件のいずれでも構いません。

正しい外部結合の例

この例では、PARTSとPRODUCTSテーブルに以下の行が含まれていると仮定します

          PARTS table                             PRODUCTS table
PART      PROD#   SUPPLIER              PROD#     PRODUCT        PRICE
=======   =====   ============          =====     ===========    =====
WIRE      10      ACWF                  505       SCREWDRIVER    3.70
OIL       160     WESTERN_CHEM          30        RELAY          7.55
MAGNETS   10      BATEMAN               205       SAW            18.90
PLASTIC   30      PLASTIK_CORP          10        GENERATOR      45.75
BLADES    205     ACE_STEEL
PARTS 表の中に対応する行がない、PRODUCTS 表からの行を組み込むには、 次の照会を実行します。
SELECT PART, SUPPLIER, PRODUCTS.PROD#, PRODUCT, PRICE
  FROM PARTS RIGHT OUTER JOIN PRODUCTS
    ON PARTS.PROD# = PRODUCTS.PROD#
       AND PRODUCTS.PRICE>10.00;
結果表は、以下の出力のようになります。
PART        SUPPLIER       PROD#     PRODUCT        PRICE
=======     ============   =====     ==========     ===== 
WIRE        ACWF            10       GENERATOR      45.75 
MAGNETS     BATEMAN         10       GENERATOR      45.75 
BLADES      ACE_STEEL      205       SAW            18.90
----------  ------------    30       RELAY           7.55 
----------  ------------   505       SCREWDRIVER     3.70

PARTS 表からの行が結果表に入るのは、PARTS 表の製品番号が PRODUCTS 表の行の製品番号と一致し、 かつ価格がその行の 10.00 を超える場合に限られます。

PRODUCTS 表には、結果表の製品番号が一致していない行を持つ可能性があり、 かつ PRICE 列が PRODUCTS 表にあるので、PRICE が 10.00 以下の行が、 結果に含まれます。 PARTS 列には、結果表のこれらの行の NULL 値が入ります。