結合は、SELECT ステートメント内の関係演算で、列値の一致をベースにして、データを 2 つ以上のテーブルから検索することを可能にします。
テーブル内のデータは単一の結果にリンクされます。
「SQL ステートメントの新規作成」ウィザード内の SQL サポートおよび SQL ビルダーは、ユーザーのデータベース・ベンダーが提供するサポートのレベルに依存します。
結合のサポート
- DB2®:
内部結合 (inner joins)、左方外部結合 (left outer joins)、右方外部結合 (right outer joins)、および全外部結合 (full outer joins)
- Oracle: 内部結合 (inner joins)、左方外部結合 (left outer join) および右方外部結合 (right outer joins)。
左方外部結合と右方外部結合の構文は、WHERE 文節 については Oracle "+" 構文と一致しています。
- Sybase および Cloudscape™:
内部結合 (inner joins)、左方外部結合 (left outer join) および右方外部結合 (right outer joins)。
下記のテーブルは結合演算子をリストしています。
「結合演算子 (Join Operator)」 |
「定義 (Definition)」 |
「内部結合 (Inner join)」 |
左方テーブルの各行は右方テーブルの各行と結合されていて、結合条件が「真」の行のみを保持しています。
結果テーブルは、結合されたテーブルの片方または両方の欠落した行にある可能性があります。
外部結合は、内部結合を含み、そしてこれらの欠落した行を保存します。
これは SQL ビルダー内の新規結合用のデフォルト演算子です。 |
「左方外部結合 (Left outer join)」 |
内部結合から欠落した左方テーブルからの行を組み込みます。 |
「右方外部結合 (Right outer join)」 |
内部結合から欠落した右方テーブルからの行を組み込みます。 |
「全外部結合 (Full outer join)」 |
内部結合から欠落した右方と左方の両方のテーブルからの行を組み込みます。 |
SQL ビルダー内で結合を作成するには以下を行います。
- データ・パースペクティブに切り替える。
- SQL ビルダー内のユーザーの SELECT ステートメントを開く。
- SELECT ステートメントに 2 つ以上のテーブルを追加する。
- テーブル・ペイン内で、ポインターを 1 つのテーブル (左方テーブル) 内の列から、別のテーブル (右方テーブル) の結合を作成したい列にドラッグする。
- デフォルトの内部結合から結合タイプを変更するために、接続ラインを右クリック して、そしてポップアップ・メニューから「結合タイプの指定 (Specify Join Type)」をクリックする。 異なった結合タイプに関する情報については、1 つを選んで F1 キーを押します。
「SQL ステートメントの新規作成」ウィザードを使用して結合を作成するには以下を行います。
- 「」をクリックする。
- 新規ウィンドウ内で「データ (Data)」フォルダーを拡張し、「SQL ステートメント (SQL Statement)」をクリックして
から「次へ (Next)」をクリックする。
- ウィザード・ページのフィールドに必要に応じて記入する。 個々のフィールドに関する追加については、それを選択して F1 キーを押す。
- 結合ペイン内で、1 つのテーブル (左方テーブル) 内のソース列を選択し、カーソルを別のテーブル (右方テーブル) の結合を作成したい列にドラッグする。
- デフォルトの内部結合から結合タイプを変更するために、接続ラインを右クリック して、そして「結合タイプの指定 (Specify Join Type)」をクリックする。
異なった結合タイプに関する情報については、1 つを選んで F1 キーを押す。
「
結合を変更する (Modifying a join)」
結合を 1 つの列から別の列に移動するには、接続線の端を新規の列にドラッグする。
「
結合を除去する (Removing a join)」
結合を除去するためには、結合の接続線を右クリックし、そしてポップアップ・メニューから「結合の除去 (Remove Join)」をクリックする。