クエリおよびビュー デザイナでの結合の表示方法
更新 : 2007 年 11 月
テーブルを結合すると、クエリおよびビュー デザイナは、ダイアグラム ペインにその結合をグラフィカル表示します。また、SQL 構文を使って SQL ペインにも表示されます。
ダイアグラム ペイン
ダイアグラム ペインでは、結合に関係するデータ列の間に結合線が引かれます。結合条件ごとに 1 本の結合線が表示されます。たとえば、次の図には結合された 2 つのテーブル間の結合線が示されています。
複数の結合条件を使ってテーブルが結合されている場合は、次の図に示すように、複数の結合線が表示されます。
結合されたデータ列が表示されていない場合 (テーブルまたはテーブル構造オブジェクトを表す四角形が最小化されている場合や、結合に式が含まれる場合など)、クエリおよびビュー デザイナは、テーブルまたはテーブル構造オブジェクトを表す四角形のタイトル バーに結合線を表示します。
結合線の中央に表示されるアイコンの形は、テーブルまたはテーブル構造オブジェクトの結合方法を示しています。等号 (=) 以外の演算子が結合句で使われている場合は、その演算子が結合線のアイコンに表示されます。結合線に表示されるアイコンは、次の表のとおりです。
結合線のアイコン |
説明 |
---|---|
内部結合 (等号を使って作成)。 |
|
"大なり" 演算子 (>) による内部結合。 |
|
外部結合。右側のテーブルに一致する行があるかどうかにかかわらず、左側のテーブルのすべての行が含まれます。 |
|
外部結合。左側のテーブルに一致する行があるかどうかにかかわらず、右側のテーブルのすべての行が含まれます。 |
|
完全外部結合。関連テーブルに一致する行があるかどうかにかかわらず、両方のテーブルのすべての行が含まれます。
メモ :
Oracle など、完全外部結合をサポートしていないデータベースもあります。
|
結合線の端に表示される記号は、結合の種類を示しています。結合の種類と結合線の端に表示されるアイコンは、次の表のとおりです。
結合線の端のアイコン |
結合の種類 |
---|---|
一対一結合。 |
|
一対多結合。 |
|
クエリおよびビュー デザイナは結合の種類を特定できません。この状態は、結合を手動で作成した場合に多く発生します。 |
SQL ペイン
SQL ステートメントでは、さまざまな方法で結合を表現できます。正確な構文は、使用するデータベースおよび結合を定義する方法によって異なります。
テーブルの結合に使用する構文オプションは、次のとおりです。
FROM 句の JOIN 修飾子 キーワード INNER および OUTER で結合の種類を指定します。この構文は、ANSI 92 SQL の標準です。
たとえば、publishers テーブルと pub_info テーブルを両方のテーブルの pub_id 列に基づいて結合する場合、SQL ステートメントは次のようになります。
SELECT * FROM publishers INNER JOIN pub_info ON publishers.pub_id = pub_info.pub_id
外部結合を作成する場合は、INNER の代わりに LEFT OUTER または RIGHT OUTER というキーワードが使われます。
WHERE 句による両テーブルの列の比較 データベースが JOIN 構文をサポートしていない場合、またはユーザーが自分で入力した場合には、WHERE 句が使われます。WHERE 句で結合が作成される場合は、FROM 句で両方のテーブルの名前が指定されます。
たとえば、publishers テーブルと pub_info テーブルを結合するステートメントは、次のようになります。
SELECT * FROM publishers, pub_info WHERE publishers.pub_id = pub_info.pub_id