< 前へ | 次へ >

テーブルを使った SELECT ステートメントの作成

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

SELECT ステートメントの作成

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

SELECT ステートメントを作成するには、次のようにします。

  1. 「データ・プロジェクト・エクスプローラー」ビューで、VideoStoreProject プロジェクトの中の「SQL スクリプト」フォルダーを右クリックしてから、「新規」 > 「SELECT ステートメント」をクリックします。
  2. 「新規 SQL ステートメント」ウィザードの「プロジェクトの指定」ページで、「プロジェクト」リストから VideoStoreProject を選択して、「次へ」をクリックします。
  3. ウィザードの「ステートメント・タイプ」ページで、ステートメント名として customerRentals を入力し、「完了」をクリックします。
SELECT ステートメント・テンプレートは、以下に示されているように SQL ビルダーで作成され、開かれます。

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

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

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

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

「データ・プロジェクト・エクスプローラー」ビューに加えて、SQL ビルダーにより、次の 3 つのビューを使用できます。

アウトライン
現在、作業しているステートメントが表示されます。例えば、副選択や共通のテーブル式 が組み込まれる可能性のある、WITH や FULLSELECT などのより複雑なステートメントの場合、 「アウトライン」ビューで、ステートメントの構造が表示されます。
データベース・エクスプローラー
このビューには、定義されている各データ接続が表示されます。 SQL ビルダーで SQL ステートメントにテーブルを追加する場合、接続の下の「テーブル」フォルダーをソースとして使用できます。
データ出力
実行中の 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. 「データベース・エクスプローラー」ビューの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 ソース」ペインに表示されているところ

テーブル別名の追加

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

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

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

テーブルの別名を追加するには、次のようにします。

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