ヘッダーをスキップ

Oracle Database Application Expressユーザーズ・ガイド リリース 3.0 E05267-02 |
| 目次 | 索引

前へ | 次へ |

# 17 クエリー・ビルダーを使用した問合せの構築

クエリー・ビルダーのGraphical User Interfaceを使用すると、データベース開発者は、手動でSQLをコーディングしなくても、SQL問合せを作成できます。クエリー・ビルダーを使用すると、SQLの知識がほとんどなくても、データベース・オブジェクトの検索およびフィルタ適用、オブジェクトおよび列の選択、オブジェクト間の関係の作成、問合せ結果の書式の表示、問合せの保存を行うことができます。

このセクションの内容は次のとおりです。

- クエリー・ビルダーについて

- 「オブジェクト選択」ペインの使用

- オブジェクトの選択

- 問合せ条件の指定

- オブジェクト間の関係の作成

- 保存された問合せでの操作

- 生成されたSQLの表示

- 問合せ結果の表示

参照: 「問合せファインダ」の使用

## クエリー・ビルダーについて

クエリー・ビルダー・ページは、次の3つのセクションに分かれています。

- 「オブジェクト選択」ペイン: ページの左側に表示され、問合せの構築に使用できるオブジェクトのリストがあります。現行スキーマのオブジェクトのみが表示されます。

- 「設計」ペイン: 「オブジェクト選択」ペインの右側、「条件」、「SQL」、「結果」および「保存されたSQL」の上に表示されます。「オブジェクト選択」ペインからオブジェクトを選択すると、そのオブジェクトが「設計」ペインに表示されます。

- 「出力」ペイン: 「設計」ペインの下に表示されます。オブジェクトおよび列を選択すると、条件の作成、生成済のSQLの表示、または問合せ結果の表示を行うことができます。

qry_bldr.gifの説明

スキーマの選択

スキーマはデータベース・オブジェクトの論理的なコンテナです。別のスキーマのオブジェクトにアクセスするには、ページの右上にある「スキーマ」リストから選択します。

別のSQLワークショップ・コンポーネントへの切替え

ページの右上にある「コンポーネント」リストから次のいずれかを選択して、別のSQLワークショップ・コンポーネントにナビゲートできます。

- オブジェクト・ブラウザ: 「オブジェクト・ブラウザを使用したデータベース・オブジェクトの管理」を参照してください。

- SQLコマンド: 「SQLコマンドの使用」を参照してください。

- SQLスクリプト: 「SQLスクリプトの使用」を参照してください。

- クエリー・ビルダー: 「クエリー・ビルダーを使用した問合せの構築」を参照してください。

このセクションの構成は次のとおりです。

- クエリー・ビルダーへのアクセス

- 問合せ作成プロセスの理解

### クエリー・ビルダーへのアクセス

クエリー・ビルダーにアクセスするには、次のステップを実行します。

1. 作業領域のホームページにログインします。

2. 「SQLワークショップ」をクリックします。

3. クエリー・ビルダーを表示するには、次のいずれかの操作を実行します。

   - 「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   - 「SQLワークショップ」アイコンの右側にある下矢印をクリックしてドロップ・ダウン・メニューを表示します。次に、「クエリー・ビルダー」メニュー・オプションを選択します。

図qry_bldr_menu_apex.gifの説明

注意: 一貫性を保つため、このドキュメントでは、ナビゲーションを説明する際にプライマリ・ナビゲーション・パス（ドリルダウン方式）を使用します。

### 問合せ作成プロセスの理解

クエリー・ビルダーで問合せを作成するには、次のステップを実行します。

1. 「オブジェクト選択」ペインで、オブジェクトを選択します。詳細は、「「オブジェクト選択」ペインの使用」を参照してください。

2. 「設計」ペインにオブジェクトを追加して、列を選択します。詳細は、「オブジェクトの選択」を参照してください。

3. オプション: オブジェクト間の関係を確立します。詳細は、「オブジェクト間の関係の作成」を参照してください。

4. オプション: 問合せ条件を作成します。詳細は、「問合せ条件の指定」を参照してください。

5. 問合せを実行し、結果を表示します。詳細は、「問合せ結果の表示」を参照してください。

参照: 「生成されたSQLの表示」および「保存された問合せでの操作」

## 「オブジェクト選択」ペインの使用

「オブジェクト選択」ペインは「クエリー・ビルダー」ページの左側に表示され、カレント・スキーマ内の表、ビューおよびマテリアライズド・ビューをリストします。

このセクションの構成は次のとおりです。

- オブジェクトの検索とフィルタの適用

- 「オブジェクト選択」ペインの非表示

### オブジェクトの検索とフィルタの適用

「オブジェクト選択」ペインを使用して、カレント・スキーマ内の表、ビューおよびマテリアライズド・ビューを検索して表示します。

オブジェクトの検索またはフィルタの適用を行うには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. ペイン上部の検索フィールドに、大/小文字が区別されない問合せを入力します。

3. 現在選択されているスキーマ内のすべての表またはビューを表示するには、検索フィールドを空白のままにします。

qry_bldr_search.gifの説明

### 「オブジェクト選択」ペインの非表示

表またはビューの非表示のコントロールを選択して、「オブジェクト選択」ペインを非表示にできます。「オブジェクト選択」ペインを非表示にすると、「設計」および「結果」ペインのサイズを大きくすることができます。

表またはビューの非表示のコントロールは「オブジェクト選択」ペインの右側に表示されます。「オブジェクト」リストが表示されている場合は、このコントロールを選択するとリストが非表示になります。同様に、「オブジェクト」リストが非表示の場合は、このコントロールを選択すると、再度リストが表示されます。

## オブジェクトの選択

「設計」ペインは「オブジェクト選択」ペインの右側に表示されます。「オブジェクト選択」ペインでオブジェクトを選択すると、そのオブジェクトが「設計」ペインに表示されます。「オブジェクト選択」ペインを使用してオブジェクト（つまり表、ビューおよびマテリアライズド・ビュー）を選択し、「設計」ペインを使用して選択したオブジェクトの問合せでの使用方法を指定します。

このセクションの構成は次のとおりです。

- サポートされる列の型について

- 「設計」ペインへのオブジェクトの追加

- 「設計」ペインでのオブジェクトの削除または非表示

参照: 「オブジェクト間の関係の作成」

### サポートされる列の型について

Oracle Database 10gリリース2（10.2）で使用可能なすべての型の列が「設計」ペインにオブジェクトとして表示されます。次の列制限に注意してください。

- それぞれの問合せに対して選択できるのは、最大60列です。

- 次の型の列は選択不可で、生成された問合せに含めることはできません。

  - `BLOB`

  - `NCLOB`

  - `RAW`

  - `LONG`

  - `LONG RAW`

  - `XMLType`

  - その他の非スカラー列の型

### 「設計」ペインへのオブジェクトの追加

「オブジェクト選択」ペインからオブジェクトを選択して、オブジェクトを「設計」ペインに追加します。

「設計」ペインにオブジェクトを追加するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「オブジェクト選択」ペインで、オブジェクトを選択します。

   選択したオブジェクトが「設計」ペインに表示されます。列名の右側にデータ型がグラフィカルに表示されることに注意してください。

   qry_bldr_add.gifの説明

3. 列名の左のチェック・ボックスを選択することによって、問合せに含める列を選択します。

   列を選択すると、その列が問合せに使用されることになります。また、その列が「条件」タブに表示されます。「条件」タブの「表示」チェック・ボックスによって、列が問合せ結果に含まれるかどうかを制御します。このチェック・ボックスは、デフォルトでは選択されています。

   最初の20列を選択するには、オブジェクトの左上にある「表の処理」アイコンをクリックします。アクション・ウィンドウが表示されます。「すべてをチェック」を選択します。

4. 問合せを実行し、結果を表示するには、「実行」をクリックします。

   ヒント: 問合せは、[Ctrl]+[Enter]を押して実行することもできます。

   「結果」ペインに問合せ結果が表示されます。

参照: 「問合せ条件の指定」

#### 「設計」および「結果」ペインのサイズ変更

オブジェクトを選択すると、ページ中央の灰色の水平罫線を選択して、「設計」および「結果」ペインのサイズを変更できます。罫線を上に移動すると、「設計」ペインが縮小します。罫線を下に移動すると、「設計」ペインが拡大します。

### 「設計」ペインでのオブジェクトの削除または非表示

「設計」ペインでオブジェクトを削除または非表示にするには、オブジェクトの上部にあるコントロールを選択します。オブジェクトを削除するには、右上の「削除」アイコンを選択します。オブジェクト内の列を一時的に非表示にするには、「列の表示/非表示」アイコンをクリックします。

qry_bldr_remove_ico.gifの説明

## 問合せ条件の指定

条件を使用すると、操作するデータにフィルタを適用し、識別することができます。オブジェクト内の列を選択するときに、「条件」タブで条件を指定できます。これらの属性を使用して、列の別名の変更や、列条件の適用、列のソート、ファンクションの適用を行うことができます。

問合せ条件を指定するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「オブジェクト選択」ペインで、オブジェクトを選択します。

   選択したオブジェクトが「設計」ペインに表示されます。

3. 列名の左のボックスをクリックして、問合せに含める列を選択します。

   列を選択すると、問合せにその列を含めることになります。各列を選択すると、「条件」ビューに別個の行として表示されます。表17-1に、「条件」タブで使用可能な属性を示します。

   表17-1 「条件」タブ

   条件属性 | 説明
   --- | ---
   上矢印および下矢印 | 問合せの結果に表示される列の順序を制御します。矢印ボタンをクリックして、列を上下に移動します。 参照: 「問合せ結果の表示」
   列 | 列名を表示します。
   別名 | 列の別名（オプション）を指定します。別名は列の代替名です。別名は、列名をより説明的にする場合や、列名を短縮する場合、あいまいな参照を回避する場合に使用されます。
   条件 | 列の条件を指定します。 入力した条件により、問合せの`WHERE`句が変更されます。列条件を指定するときは、適切な演算子およびオペランドを含める必要があります。次に例を示します。
       >=10
       ='VA'
       IN (SELECT dept_no FROM dept)
       BETWEEN SYSDATE AND SYSDATE + 15
   ソート・タイプ | ソート・タイプを選択します。オプションは次のとおりです。 昇順（`Asc`） 降順（`Desc`）
   ソート順序 | 番号（1、2、3･･･）を入力して、選択した列が表示される順序を指定します。
   表示 | 列を問合せ結果に含めるには、このチェック・ボックスを選択します。フィルタ目的のためにのみ、列を問合せに追加する必要がある場合は、「表示」を選択する必要はありません。 たとえば、次の問合せを作成するとします。 `SELECT ename FROM emp WHERE deptno = 10` この問合せをクエリー・ビルダーで作成するには、次のステップを実行します。 「オブジェクト」リストから、EMPを選択します。 「設計」ペインで、`ename`および`deptno`を選択します。 deptno列に対して、「条件」で`=10` と入力し、「表示」チェック・ボックスを選択解除します。
   ファンクション | 引数ファンクションを選択します。使用可能なファンクションは次のとおりです。 NUMBER列: `COUNT`、`COUNT` `DISTINCT`、`AVG`、`MAXIMUM`、`MINIMUM`、`SUM` VARCHAR2、CHAR列: `COUNT`、`COUNT` `DISTINCT`、`INITCAP`、`LENGTH`、`LOWER`、`LTRIM`、`RTRIM`、`TRIM`、`UPPER` DATE、TIMESTAMP列: `COUNT`、`COUNT` `DISTINCT`
   グループ化 | 集計関数の使用時にグループ化に使用する列を指定します。出力に含まれる列にのみ適用できます。
   削除 | 問合せから列を排除して、選択解除します。

   列を選択し条件を定義すると、クエリー・ビルダーによってSQLが書き込まれます。

4. 基礎となるSQLを表示するには、「SQL」タブをクリックします。

## オブジェクト間の関係の作成

結合を作成することで、オブジェクト間の関係を作成できます。結合によって、複数の表、ビューまたはマテリアライズド・ビューの関係が識別されます。

このセクションの構成は次のとおりです。

- 結合条件について

- オブジェクトの手動結合

- オブジェクトの自動結合

### 結合条件について

結合の問合せを記述するときは、2つのオブジェクトの関係を示す条件を指定します。この条件を結合条件といいます。結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが決定されます。

クエリー・ビルダーは、内部結合、外部結合、左側結合および右側結合をサポートしています。内部結合（単純結合ともいう）は、結合条件を満たす行を戻します。外部結合は、単純結合の結果を拡張します。外部結合は、結合条件に一致するすべての行に加え、一方の表では結合条件を満たし、もう一方の表では結合条件を満たさない行のすべてまたは一部を戻します。

参照: 結合条件の詳細は、『Oracle Database SQL言語リファレンス』を参照してください

### オブジェクトの手動結合

「設計」ペインの「結合」列を選択して、結合を手動で作成できます。

2つのオブジェクトを手動で結合するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「オブジェクト選択」ペインで、結合するオブジェクトを選択します。

   選択したオブジェクトが「設計」ペインに表示されます。

3. 結合する列を指定します。

   列名の横にある「結合」列を選択して、結合を作成します。「結合」列はデータ型の右、「削除」アイコンの下に表示されます。該当する位置にカーソルを置くと、次のヘルプ・ヒントが表示されます。

       Click here to select column for join

4. 最初のオブジェクトについて、該当する「結合」列を選択します。

   選択すると、「結合」列が濃い灰色で表示されます。「結合」列の選択を解除するには、再度その列を選択するか[Esc]を押します。

5. 2つ目のオブジェクトについて、該当する「結合」列を選択します。

   ヒント: 2つのオブジェクトをドラッグ・アンド・ドロップして結合することもできます。最初の表の列を選択し、その列を別の表の列にドラッグ・アンド・ドロップします。

   qry_bldr_join.gifの説明

   オブジェクトが結合されると、2つの列が緑の線で結ばれます。

6. 問合せに含める列を選択します。緑の線の上にカーソルを置くと、この結合によって生成されたSQL文を表示できます。

7. 「実行」をクリックして問合せを実行します。

   「結果」ペインに問合せ結果が表示されます。

### オブジェクトの自動結合

オブジェクトを自動的に結合する場合は、既存の列における既存の論理的親子関係が、クエリー・ビルダーによって提示されます。

オブジェクトを自動的に結合するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「オブジェクト選択」ペインから、オブジェクトを選択します。

   選択したオブジェクトが「設計」ペインに表示されます。

3. オブジェクトの左上にある小さいアイコンをクリックします。選択したオブジェクトに応じて、アイコン・ラベルに「表の処理」または「処理の表示」と表示されます。

   「アクション」ウィンドウが表示されます。「アクション」ウィンドウを使用して、現行オブジェクトに関連する現行オブジェクト内の列をすべて選択します。

4. 「アクション」ウィンドウで、適切なオプションを選択します。

   - すべてをチェック: 現行のオブジェクト内の最初の20列を選択するには、このオプションを選択します。

   - 親の追加: 現行オブジェクトの外部キーとして参照される表を表示します。

   - 子の追加: 外部キー内の現行オブジェクトを参照する表を表示します。

   「親の追加」または「子の追加」を使用している場合、選択したオブジェクトが表示され、外部キー列が緑の線で結ばれます。

5. 問合せに含める追加の列を選択します。

   緑の線の上にカーソルを置くと、この結合によって生成されたSQL文を表示できます。

6. 「実行」をクリックして問合せを実行します。

   「結果」ペインに問合せ結果が表示されます。

## 保存された問合せでの操作

新しい問合せを作成したときは、「設計」ペインの「保存」ボタンをクリックして、問合せを保存できます。問合せを保存すると、後に「保存されたSQL」ビューでその問合せにアクセスできます。

このセクションの構成は次のとおりです。

- 問合せの保存

- 保存された問合せの編集

- 保存された問合せの削除

### 問合せの保存

問合せを保存するには、次のステップを実行します。

1. 問合せを構築します。

   1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

      クエリー・ビルダーが表示されます。

   2. 「オブジェクト選択」ペインで、オブジェクトを選択します。

   3. 「設計」ペインにオブジェクトを追加して、列を選択します。

   4. 問合せを実行します。

2. 「保存」をクリックします。

3. 名前と説明を入力して、「保存」をクリックします。

   保存された問合せが「保存されたSQL」ビューに表示されます。

qry_bldr_save.gifの説明

クエリー・ビルダーでは重複する問合せ名はサポートされていないことに注意してください。既存の問合せを開き、既存の名前をそのまま使用して再度保存すると、クエリー・ビルダーによって既存の問合せが上書きされます。既存の問合せの名前を変更して再度保存すると、その問合せはクエリー・ビルダーによって新しい名前で保存されます。

### 保存された問合せの編集

問合せを保存すると、「保存されたSQL」ビューでその問合せにアクセスできます。

保存されたSQL問合せを編集するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「保存されたSQL」タブを選択します。

3. 次の方法で表示にフィルタを適用できます。

   - 「所有者」リストから表示内容を選択して、「実行」をクリックします。

   - 「名前」フィールドに検索問合せを入力して、「実行」をクリックします。

4. 問合せを編集するには、該当する名前を選択します。

   保存された問合せが表示されます。選択したオブジェクトが「設計」ペインに表示され、「条件」ビューが表示されます。

### 保存された問合せの削除

保存されたSQL問合せを削除するには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「保存されたSQL」タブを選択します。

3. 削除する問合せを選択し、「チェックした項目の削除」をクリックします。

## 生成されたSQLの表示

「SQL」ビューには、クエリー・ビルダーによって生成されたSQLが書式設定され、読取り専用で表示されます。「SQL」ビューに表示されたSQLコードをコピーして、SQLコマンド・プロセッサまたはアプリケーション・ビルダーなどの他のツールで使用することができます。

参照: 「SQLコマンドの使用」

「SQL」ビューにアクセスするには、次のステップを実行します。

1. 作業領域のホームページで「SQLワークショップ」、「クエリー・ビルダー」の順にクリックします。

   クエリー・ビルダーが表示されます。

2. 「オブジェクト選択」ペインで、オブジェクトを選択します。

   選択したオブジェクトが「設計」ペインに表示されます。

3. 問合せに含める列を選択します。

4. 「SQL」タブを選択します。

   クエリー・ビルダーによって生成されたSQLコードが表示されます。

## 問合せ結果の表示

オブジェクトを選択し、問合せに含める列を決定した後、次の方法で問合せを実行します。

- 「実行」ボタンのクリック（または[Ctrl]+[Enter]の使用）。

- 「結果」タブの選択

「結果」ビューが表示され、書式設定された問合せの結果が示されます。レポートをカンマ区切り（.csv）ファイルとしてエクスポートするには、ページ下部の「ダウンロード」リンクをクリックしてください。

qry_bldr_results.gifの説明