次の方法で共有


クエリおよびビュー デザイナでの結合の表示方法

更新 : 2007 年 11 月

テーブルを結合すると、クエリおよびビュー デザイナは、ダイアグラム ペインにその結合をグラフィカル表示します。また、SQL 構文を使って SQL ペインにも表示されます。

ダイアグラム ペイン

ダイアグラム ペインでは、結合に関係するデータ列の間に結合線が引かれます。結合条件ごとに 1 本の結合線が表示されます。たとえば、次の図には結合された 2 つのテーブル間の結合線が示されています。

クエリ発行 PubInfo 結合線

複数の結合条件を使ってテーブルが結合されている場合は、次の図に示すように、複数の結合線が表示されます。

DatabaseProjectDatabaseConnections スクリーンショット

結合されたデータ列が表示されていない場合 (テーブルまたはテーブル構造オブジェクトを表す四角形が最小化されている場合や、結合に式が含まれる場合など)、クエリおよびビュー デザイナは、テーブルまたはテーブル構造オブジェクトを表す四角形のタイトル バーに結合線を表示します。

結合線の中央に表示されるアイコンの形は、テーブルまたはテーブル構造オブジェクトの結合方法を示しています。等号 (=) 以外の演算子が結合句で使われている場合は、その演算子が結合線のアイコンに表示されます。結合線に表示されるアイコンは、次の表のとおりです。

結合線のアイコン

説明

QueryJoinLineInnerJoinSymbol スクリーンショット

内部結合 (等号を使って作成)。

QueryJoinLineInnerJoinGreaterThanOperatorSymbol スクリーンショット

"大なり" 演算子 (>) による内部結合。

QueryJoinLinesOuterJoinLeftSymbol スクリーンショット

外部結合。右側のテーブルに一致する行があるかどうかにかかわらず、左側のテーブルのすべての行が含まれます。

QueryJoinLineOuterJoinRightSymbol スクリーンショット

外部結合。左側のテーブルに一致する行があるかどうかにかかわらず、右側のテーブルのすべての行が含まれます。

QueryJoinLineFullOuterSymbol スクリーンショット

完全外部結合。関連テーブルに一致する行があるかどうかにかかわらず、両方のテーブルのすべての行が含まれます。

ms172031.alert_note(ja-jp,VS.90).gifメモ :
Oracle など、完全外部結合をサポートしていないデータベースもあります。

結合線の端に表示される記号は、結合の種類を示しています。結合の種類と結合線の端に表示されるアイコンは、次の表のとおりです。

結合線の端のアイコン

結合の種類

QueryJoinLine1-to-1Symbol スクリーンショット

一対一結合。

QueryJoinLine1-to-ManySymbol スクリーンショット

一対多結合。

QueryJoinLineEndSymbol スクリーンショット

クエリおよびビュー デザイナは結合の種類を特定できません。この状態は、結合を手動で作成した場合に多く発生します。

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
    

参照

参照

[結合] ダイアログ ボックス

その他の技術情報

結合を使用したクエリ