エクササイズ 1.2: テーブルを使った SELECT ステートメントの作成

このエクササイズを始める前に、エクササイズ 1.1: VIDEOS データベースの作成、および VIDEOS データベースへの接続を完了しておく必要があります。

このエクササイズでは、SQL ビルダーを使用して、VIDEOS データベース用の SELECT ステートメントを作成して、必要なデータベース・テーブルをそのステートメントに追加してから、 それぞれのテーブルに別名を割り当てます。

SELECT ステートメントの作成

「データ定義」ビューの「ステートメント」フォルダー・ポップアップ・メニューを使って、 SELECT、INSERT、DELETE、UPDATE、WITH、および FULLSELECT ステートメントを追加できます。それでは、 VIDEOS データベース用の SELECT ステートメントを作成しましょう。

  1. 「データ定義」ビューで、「ステートメント」フォルダーを右クリックしてから、「新規」> 「ステートメントを選択 (Select Statement)」とクリックします。
  2. 「新規 SELECT ステートメント」ウィンドウで、ステートメント名に customerRentals と入力して、「OK」をクリックします。

SELECT ステートメント・テンプレートは、以下に示されているように SQL ビルダーで作成され、開かれます。

SQL ビルダーの SELECT ステートメント・テンプレート

SQL ビルダーには、以下の 3 つのペインがあります。

SQL ソース
この上部のペインには、ビルド中のステートメントの SQL ソースが表示されます。
テーブル
この真中のペインでは、ステートメントが追加されるテーブルとテーブル列が表示されます。
デザイン
この下部のペインは、ステートメントの文節の詳細を提供するために使われます。 このペインは、編集対象のステートメント・タイプに応じて変化します。

このチュートリアルでは、これらすべてのペインを使用します。

「データ定義」ビューに加えて、SQL ビルダーを使って、次の 2 つのビューを使用することができます。

アウトライン
現在、作業しているステートメントが表示されます。例えば、副選択や共通のテーブル式 が組み込まれる可能性のある、WITH や FULLSELECT などのより複雑なステートメントの場合、 「アウトライン」ビューで、ステートメントの構造が表示されます。
DB 出力
実行中の SQL ステートメントに関連する、メッセージ、パラメーター、および結果を表示します。

ユーザーが作成した SELECT ステートメントが SQL ビルダーにすでに開かれていますので、 そのステートメントの構成を続行することができます。 このチュートリアルでは、SELECT ステートメントの作成のみを行いますが、SQL ビルダーの「SQL ソース」ペイン、「テーブル」ペイン、 および「デザイン」ペインを使用して、INSERT、DELETE、UPDATE、FULLSELECT、および WITH SQL ステートメントも作成することができます。

ステートメントへのテーブルの追加

次は、customerRentals 照会のために、3 つのテーブルを SELECT ステートメントに追加します。 ビデオ店の店員がある特定の顧客がレンタルしたビデオのタイトルと、ビデオの返却予定の曜日を 検索できる照会を作成することにします。照会には、CUSTOMERS、RENTALS、および VIDEOS というテーブルを組み込む必要があります。

CUSTOMERS テーブルには、ビデオ店から借りているそれぞれの人の名前と ID (識別番号) を含みます。VIDEOS テーブル内のデータには、ID (識別番号) と各ビデオのタイトルを含みます。RENTALS テーブル内のデータには、現在レンタルされているそれぞれのビデオについて、顧客 ID、ビデオ ID、返却予定日といった情報を含みます。

  1. 「データ定義」ビューで、「VIDEOS」データベース・ツリーの「XMLTEST」スキーマを展開してから、 「テーブル」フォルダーを展開します。データベースのテーブルを見ることができます。

    VIDEOS データベースのテーブル

  2. XMLTEST.CUSTOMERS テーブルを「データ定義」ビューから「SQL ビルダー」の「テーブル」ペインにドラッグします。
    CUSTOMERS テーブルが「テーブル」ペインに表示され、「SQL ソース」ペインのソース・コードには、SELECT ステートメントでの CUSTOMERS テーブルの追加が表示されます。
  3. 下の画面にあるように、SQL ビルダーの「SQL ソース」ペインの中に、XMLTEST.CUSTOMERS の後に続いて ,xmltest.rentals を (最初のコンマを含めて) 入力します。 次に「SQL ソース」ペインの外側の任意の部分をクリックします。

    SQL ビルダー - 「SQL ソース」ペインに
',xmltest.rentals' というテキストを入力した状態の表示

    変更されたステートメントが解析され、有効であると判別されると、RENTALS テーブルが「テーブル」ペインに追加され、「SQL ソース」ペインのコードがフォーマットされます。
  4. 「テーブル」ペインの中で右クリックしてから、ポップアップ・メニューの「テーブルの追加 (Add Table)」をクリックします。
  5. テーブル名」リストで「XMLTEST.VIDEOS」を選択し、「OK」をクリックします。
    VIDEOS テーブルが「テーブル」ペインに追加され、「SQL ソース」のソース・コードは、SELECT ステートメントでの VIDEOS テーブルの追加を示します。

これで、3 つのテーブルがすべて「テーブル」ペインに表示されました。「SQL ソース」ペインのソース・コードに、対応する変更があることに注目してください。

SQL ビルダー - 「SQL ソース」ペインの中の、追加されたテーブルの表示と、
「SQL ソース」のテーブルに対する対応するコード

テーブル別名の追加

次は、SELECT ステートメントのそれぞれのテーブルの別名を作成します。別名は、 テーブルを参照する間接的な方法で、そのテーブルの修飾名から SQL ステートメントが独立したものになりえる方法です。 テーブル名が変更された場合は、別名定義も変更しなければなりません。

テーブルの別名の追加は、「テーブル」ペインのテーブル・ポップアップ・メニューを使用して、 ユーザーがテーブルをステートメントに追加するときや、テーブルの追加後に、行うことができます。 また、このテーブル・ポップアップ・メニューは、テーブルを削除したり、テーブルとテーブルの結合を作成したりする ときにも使用できます。

CUSTOMERS、RENTALS、および VIDEOS テーブルの別名は、それぞれ CR、および V にします。

  1. 「テーブル」ペインで、CUSTOMERS テーブル内のヘッダーを右クリックしてから、ポップアップ・メニューの 「別名の更新」をクリックします。
  2. 「テーブル別名の変更」ウィンドウで、C をテーブル の別名として入力してから、「OK」をクリックします。
    「テーブル」ペインで、CUSTOMERS テーブルのヘッダーに別名が表示されます。「SQL ソース」ペインでは、別名は、CUSTOMERS テーブルの AS C というコードで表されます。
  3. RENTALS (R) と VIDEOS (V) テーブルの別名を追加するため、ステップ 1 と 2 を繰り返し実行します。

これで、エクササイズ 1.3: 結果列の指定を始める準備完了です。

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