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

SAP Sybase SQL Anywhere 16.0 » 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;
 参照