結合の作成

結合は、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 ビルダー内で結合を作成するには以下を行います。

  1. データ・パースペクティブに切り替える。
  2. SQL ビルダー内のユーザーの SELECT ステートメントを開く。
  3. SELECT ステートメントに 2 つ以上のテーブルを追加する。
  4. テーブル・ペイン内で、ポインターを 1 つのテーブル (左方テーブル) 内の列から、別のテーブル (右方テーブル) の結合を作成したい列にドラッグする。
  5. デフォルトの内部結合から結合タイプを変更するために、接続ラインを右クリック して、そしてポップアップ・メニューから「結合タイプの指定 (Specify Join Type)」をクリックする。 異なった結合タイプに関する情報については、1 つを選んで F1 キーを押します。

「SQL ステートメントの新規作成」ウィザードを使用して結合を作成するには以下を行います。

  1. ファイル (File) > 新規 (New) > その他 (Other)」をクリックする。
  2. 新規ウィンドウ内で「データ (Data)」フォルダーを拡張し、「SQL ステートメント (SQL Statement)」をクリックして から「次へ (Next)」をクリックする。
  3. ウィザード・ページのフィールドに必要に応じて記入する。 個々のフィールドに関する追加については、それを選択して F1 キーを押す。
  4. 結合ペイン内で、1 つのテーブル (左方テーブル) 内のソース列を選択し、カーソルを別のテーブル (右方テーブル) の結合を作成したい列にドラッグする。
  5. デフォルトの内部結合から結合タイプを変更するために、接続ラインを右クリック して、そして「結合タイプの指定 (Specify Join Type)」をクリックする。 異なった結合タイプに関する情報については、1 つを選んで F1 キーを押す。
結合を変更する (Modifying a join)

結合を 1 つの列から別の列に移動するには、接続線の端を新規の列にドラッグする。

結合を除去する (Removing a join)

結合を除去するためには、結合の接続線を右クリックし、そしてポップアップ・メニューから「結合の除去 (Remove Join)」をクリックする。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved. (C) Copyright IBM Japan 2005