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 の使用法 » データのクエリと変更 » ジョイン:複数テーブルからのデータ検索 » ジョイン操作

 

3 つ以上のテーブルのジョイン

SQL Anywhere では、ジョインできるテーブルの数に制限はありません。

3 つ以上のテーブルをジョインする場合、カッコはオプションです。カッコを使用しない場合には、SQL Anywhere では文が左から右に評価されます。そのため、A JOIN B JOIN C( A JOIN B ) JOIN C と同じです。また、次の 2 つの SELECT 文は同じです。

SELECT *
FROM A JOIN B JOIN C JOIN D;
SELECT *
FROM ( ( A JOIN B ) JOIN C ) JOIN D;

3 つ以上のテーブルをジョインした場合、そのジョインにはテーブル式が含まれます。A JOIN B JOIN C の例では、テーブル式 A JOIN B が C とジョインされます。つまり、概念上は A と B がジョインされ、その結果が C にジョインされます。

テーブル式に外部ジョインが含まれるときは、ジョインの順序が重要になります。たとえば、A JOIN B LEFT OUTER JOIN C は、(A JOIN B) LEFT OUTER JOIN C と解釈されます。つまり、テーブル式 A JOIN B が C にジョインされます。このとき、テーブル式 A JOIN B は保護され、テーブル C には NULL が入力されます。

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

SQL Anywhere でテーブル式のキー・ジョインがどのように実行されるかについては、テーブル式のキー・ジョインを参照してください。

SQL Anywhere でテーブル式のナチュラル・ジョインがどのように実行されるかについては、テーブル式のナチュラル・ジョインを参照してください。