Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » ジョイン:複数テーブルからのデータ検索

 

クロス・ジョイン

2 つのテーブルのクロス・ジョインによって、両方のテーブルにあるローの組み合わせで可能なものすべてが生成されます。クロス・ジョインは、直積とも呼ばれます。

1 番目のテーブルの各ローは、2 番目のテーブルの各ローとともに 1 回だけ出現します。したがって、結果セットのローの数は、1 番目のテーブルにあるローの数と 2 番目のテーブルにあるローの数の積から、WHERE 句による制限で除外されたローの数を減算した数になります。

クロス・ジョインでは ON 句を使用できません。ただし、WHERE 句で制限を設けることはできます。

クロス・ジョインには適用しない内部変更子と外部変更子

WHERE 句で追加した制限がある場合を除いて、両テーブルのすべてのローはいつでもクロス・ジョインの結果として表示されます。したがって、INNER、LEFT OUTER、RIGHT OUTER のキーワードは、クロス・ジョインには適用できません。

たとえば、次の文では 2 つのテーブルが結合されます。

SELECT *
FROM A CROSS JOIN B;

このクエリの結果セットには、A のすべてのカラムと B のすべてのカラムが含まれます。A の 1 つのローと B の 1 つのローの組み合わせそれぞれに対して、結果セットに 1 つのローがあります。A が n 個のロー、B が m 個のローである場合は、クエリによって n × m 個のローが返されます。


カンマ