JoinedTable
SQL構文
JoinedTableには、CROSS JOIN、INNER、LEFTまたはRIGHT OUTER JOINから導出された表を指定します。
JoinedTableの構文は、次のとおりです。
{CrossJoin | QualifiedJoin}
CrossJoinは、次のようになります。
TableSpec1 CROSS JOIN TableSpec2
QualifiedJoinは、次のようになります。
TableSpec1 [JoinType] JOIN TableSpec2 ON SearchCondition
QualifiedJoinパラメータのJoinTypeの構文は、次のとおりです。
{INNER | LEFT [OUTER] | |RIGHT [OUTER]}
パラメータ
SELECT文のTableSpec句のJoinedTableには、次のパラメータがあります。
CrossJoin | 2つの表にCROSS JOINを実行します。戻り値は、入力表のデカルト積となる結果表です。結果は、次の構文を持つ問合せと同じになります。
SELECT Selectlist FROM Table1, Table2
|
QualifiedJoin | JoinがJoinType型の結合結果になることを指定します。 |
TableSpec1 |
JOIN句の最初の表を指定します。
|
TableSpec2 |
JOIN句の2番目の表を指定します。
|
JoinType JOIN | 実行する結合の種類を指定します。サポートされている種類は、次のとおりです。 INNER LEFT [OUTER] RIGH [OUTER]
INNER JOINは、SearchConditionを満たす2つの表の行を結合した結果表を返します。
LEFT OUTER JOINは、SearchConditionに一致する結合行と、SearchConditionがTRUEに評価されなかった最初の表の行および2番目の表のすべての行を返します。
RIGHT OUTER JOINは、SearchConditionに一致する結合行と、SearchConditionがTRUEに評価されなかった2番目の表の行および最初の表のすべての行を返します。
|
ON SearchCondition | JOINパラメータで使用する検索基準を指定します。このSearchConditionが参照できるのは、現在条件を満たしているJOIN内で参照されている表のみです。 |
説明
- FULL OUTER JOINはサポートされていません。
- 結合表は、マテリアライズド・ビューを定義する文以外のすべての文で、FROM句内の表を置き換えるために使用できます。したがって、結合表は、UNION、副問合せ、非マテリアライズド・ビューまたは導出表で使用できます。
- 結合表のオペランドとして一時表は指定できませんが、ビューは指定できます。
- OUTER JOINは2つの方法で指定できます。1つはWHERE句のSearchConditionで(+)演算子を使用する方法、もう1つはJOIN表演算を使用する方法です。この2つの方法を同じ文で併用することはできません。
- 結合順およびグループ化はJoinedTable演算と併用できますが、(+)とは併用できません。たとえば、次の演算はサポートされていません。
t LEFT JOIN (t2 INNER JOIN t3 ON x2=x3) ON (x1 = x2 + x3)