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 の使用法 » データのクエリと変更 » ジョイン:複数テーブルからのデータ検索 » 明示的なジョイン条件 (ON 句)

 

生成されたジョインと ON 句

キーワード JOIN を使用し、ジョイン・タイプを指定していない場合、ON 句を使用しなければ、キー・ジョインがデフォルトです。指定のない JOIN とともに ON 句を使用すると、キー・ジョインはデフォルトにはならず、生成されたジョイン条件は何も適用されません。

たとえば、次の例はキー・ジョインです。キーワード JOIN が使用されており、ON 句もない場合はキー・ジョインがデフォルトだからです。

SELECT *
FROM A JOIN B;

次は、テーブル A とテーブル B のジョインであり、ジョイン条件 A.x = B.y も使用されています。したがって、このジョインはキー・ジョインではありません。

SELECT *
FROM A JOIN B ON A.x = B.y;

KEY JOIN または NATURAL JOIN を指定し、さらに ON 句も使用すると、最終的なジョイン条件は、生成されたジョイン条件と明示的ジョイン条件の論理積になります。たとえば、次の文にはジョイン条件が 2 つ入っています。1 つはキー・ジョインから生成されたジョイン条件で、もう 1 つは ON 句で明示的に記述されたジョイン条件です。

SELECT *
FROM A KEY JOIN B ON A.x = B.y;

キー・ジョインによって生成されたジョイン条件が A.w = B.z の場合、次の文は上の文と同等です。

SELECT *
FROM A JOIN B
  ON A.x = B.y
  AND A.w = B.z;

キー・ジョインの詳細については、キー・ジョインを参照してください。