Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
以下の規則は、これまでに説明した情報をまとめたものです。
この規則は、A KEY JOIN B に適用されます。ここで、A と B はベーステーブルまたはテンポラリテーブルです。
A KEY JOIN B
B を参照する A のすべての外部キーを見つける。
テーブル B の相関名が役割名になる外部キーが存在する場合には、それを優先外部キーとする。
A を参照する B のすべての外部キーを見つける。
テーブル A の相関名が役割名になる外部キーが存在する場合には、それを優先外部キーとする。
優先キーが 2 つ以上存在する場合、そのジョインはあいまいである。構文エラー SQLE_AMBIGUOUS_JOIN (-147) が発行される。
SQLE_AMBIGUOUS_JOIN (-147)
優先キーが 1 つだけ存在する場合には、この KEY JOIN 式に生成されたジョイン条件を定義するために、この外部キーが選択される。
優先キーがまったくない場合は、A と B 間にある他の外部キーが使用される。
A と B の間に外部キーが 2 つ以上ある場合、そのジョインはあいまいである。構文エラー SQLE_AMBIGUOUS_JOIN (-147) が発行される。
外部キーが 1 つだけ存在する場合には、この KEY JOIN 式に生成されたジョイン条件を定義するために、この外部キーが選択される。
外部キーがまったくない場合、ジョインは無効であり、エラーが生成される。
この規則は、A KEY JOIN B に適用されます。ここで、A と B はカンマを含まないテーブル式です。
テーブルの各ペア (テーブル式 A から 1 つとテーブル式 B から 1 つ) について、すべての外部キーをリストし、テーブル間のすべての優先キーにマークする。優先キー決定規則は上記の規則 1 で指定されている。
優先キーがまったくない場合は、テーブルのペア間にある他の外部キーが使用される。
外部キーが 2 つ以上存在する場合、そのジョインはあいまいである。構文エラー SQLE_AMBIGUOUS_JOIN (-147) が発行される。
この規則は、(A1, A2, ...) KEY JOIN ( B1, B2, ...) に適用されます。ここで、A1、B1 はカンマを含まないテーブル式です。
(A1, A2, ...) KEY JOIN ( B1, B2, ...)
テーブル式 Ai と Bj の各ペアに対して、規則 1 または規則 2 を適用し、テーブル式 (Ai KEY JOIN Bj) 用にユニークに生成されたジョイン条件を検出する。テーブル式のペアの KEY JOIN のいずれかが規則 1 または規則 2 によってあいまいであると判断されると、構文エラーになる。
(Ai KEY JOIN Bj)
この KEY JOIN 式の生成されたジョイン条件は、手順 1 のジョイン条件の論理積である。
この規則は、(A1, A2, ...) KEY JOIN ( B1, B2, ...) に適用されます。ここで、A1、B1 はカンマを含む可能性のあるテーブル式です。
テーブル式 Ai と Bj の各ペアに対して、規則 1、規則 2、または規則 3 を適用し、テーブル式 (Ai KEY JOIN Bj) 用にユニークに生成されたジョイン条件を検出する。テーブル式のペアの KEY JOIN のいずれかが規則 1、規則 2、または規則 3 によってあいまいであると判断されると、構文エラーになる。