5.3 クエリー・ビルダーの使用

クエリー・ビルダーを使用して、パネルに表を追加し、返す列を選択することで、問合せをグラフィカルに構築します。

クエリー・ビルダーのGraphical User Interfaceを使用すると、データベース開発者は、手動でSQLをコーディングしなくても、SQL問合せを作成できます。

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

ヒント:

クエリー・ビルダーで作成したSQLコマンドは、「SQLコマンド」からアクセスできます。

関連項目:

SQLコマンドの使用

5.3.1 クエリー・ビルダー・ホームページ

クエリー・ビルダー・ホームページについて学習します。

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

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

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

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

関連項目:

スキーマの選択

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

クエリー・ビルダーにアクセスする方法を学習します。

クエリー・ビルダーにアクセスするには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「クエリー・ビルダー」をクリックします。

クエリー・ビルダーのホームページが表示されます。

ヒント:

SQL属性の編集時に「クエリー・ビルダー」ボタンをクリックして、Oracle APEXの様々な場所にあるコード・エディタからクエリー・ビルダーにアクセスすることもできます。

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

クエリー・ビルダーで問合せを作成する方法を学習します。

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

  1. 「オブジェクト選択」ペインで、オブジェクトを選択します。詳細は、「「オブジェクト選択」ペインの使用」を参照してください。
  2. 「設計」ペインにオブジェクトを追加して、列を選択します。詳細は、「オブジェクトの選択」を参照してください。
  3. オプション: オブジェクト間の関係を確立します。詳細は、「オブジェクト間の関係の作成」を参照してください。
  4. オプション: 問合せ条件を作成します。詳細は、「問合せ条件の指定」を参照してください。
  5. 問合せを実行し、結果を表示します。「問合せ結果の表示」を参照してください。

5.3.4 オブジェクトの選択ペインの使用

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

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

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

オブジェクトの検索またはフィルタの適用を行うには:

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

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

  2. 「オブジェクト選択」ペイン上部の検索フィールドに、大/小文字を区別しない問合せを入力します。
  3. 現在選択されているスキーマ内のすべての表またはビューを表示するには、検索フィールドを空白のままにします。

5.3.4.2 「オブジェクト選択」ペインの非表示および復元

「閉じる」コントロールを選択して、「オブジェクト選択」ペインを非表示にできます。

「閉じる」コントロールは「オブジェクト選択」ペインの右側に表示されます。「オブジェクト選択」ペインが表示されている場合は、このコントロールを選択すると非表示になります。同様に、「オブジェクト選択」ペインが非表示の場合は、このコントロールを選択するとペインが復元されます。「左スプリッタ」を選択します(「閉じる」コントロールの上または下をクリックすると、「オブジェクト選択」ペインのサイズを手動で変更できます)。

5.3.4.3 オブジェクトの選択

「オブジェクト選択」ペインを使用して、オブジェクトを選択します。

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

5.3.5 「設計」ペインの使用

「設計」ペインを使用する方法を学習します。

次の各項では、「設計」ペインの使用方法について説明します。

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

Oracle Database 10gリリース(10.2)またはそれ以降で使用可能なすべての型の列が「設計」ペインにオブジェクトとして表示されます。

次の列制限に注意してください。

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

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

    • BLOB

    • NCLOB

    • RAW

    • LONG

    • LONG RAW

    • XMLType

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

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

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

「設計」ペインにオブジェクトを追加するには:

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

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

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

    選択したオブジェクトが「設計」ペインに表示されます。列名の横のアイコンは、列の型を表します。

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

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

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

  4. 問合せを実行し、結果を表示するには、「実行」([Ctrl]+[Enter])をクリックします。

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

関連項目:

問合せ条件の指定

5.3.5.3 「設計」ペインと「結果」ペインのサイズ変更

オブジェクトを選択すると、ページ中央の下部スプリッタを選択して、「設計」および「結果」ペインのサイズを変更できます。

下部スプリッタは、ページ中央の灰色の水平罫線に似ています。下部スプリッタを上下に移動して、「設計」ペインを縮小および拡張します。

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

「設計」ペインでオブジェクトを削除または非表示にするには、オブジェクトの上部にあるコントロールを選択します。

オブジェクトを削除するには、右上の「削除」アイコンを選択します。オブジェクト内の列を一時的に非表示にするには、「列の表示/非表示」アイコンをクリックします。

5.3.6 問合せ条件の指定

オブジェクト内の列を選択するときは、「条件」タブで条件を指定できます。

条件を使用すると、作業対象のデータをフィルタ処理して識別できます。これらの属性を使用して、列別名の変更、列条件の適用、列のソート、または関数の適用を行うことができます。

問合せ条件を指定するには:

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

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

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

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

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

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

    条件属性 説明
    上矢印および下矢印 問合せの結果に表示される列の順序を制御します。矢印ボタンをクリックして、列を上下に移動します。
    列名を表示します。
    別名 列の別名(オプション)を指定します。別名は列の代替名です。別名は、列名をわかりやすくする、列名を短くする、またはあいまいな参照を防ぎます。
    オブジェクト 表またはビュー名を指定します。
    条件

    列の条件を指定します。

    入力した条件により、問合せの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

    この問合せをクエリー・ビルダーで作成するには:

    1. 「オブジェクト」リストから、empを選択します。

    2. 「設計」ペインで、enameおよびdeptnoを選択します。

    3. deptno列に対して、「条件」に=10と入力し、「表示」チェック・ボックスの選択を解除します。

    ファンクション

    引数ファンクションを選択します。使用可能なファンクションは列タイプによって異なり、次のものがあります。

    • NUMBER列 - COUNTCOUNT DISTINCTAVGMAXMINSUM

    • VARCHAR2、CHAR列 - COUNTCOUNT DISTINCTINITCAPLENGTHLOWERLTRIMRTRIMTRIMUPPER

    • DATE, TIMESTAMP列 - COUNTCOUNT DISTINCTTO_CHAR YEARTO_CHAR QUARTERTO_CHAR MONTHTO_CHAR DAYTO_CHAR DAY OF YEARTO_CHAR WEEK

    グループ化 集計関数の使用時にグループ化に使用する列を指定します。出力に含まれる列にのみ適用できます。
    削除 問合せから列を排除して、選択解除します。

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

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

関連項目:

問合せ結果の表示

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

結合を作成することで、オブジェクト間の関係を作成できます。

結合によって、複数の表、ビューまたはマテリアライズド・ビューの関係が識別されます。

5.3.7.1 結合条件について

結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが決定されます。

結合の問合せを記述するときは、2つのオブジェクトの関係を示す条件を指定します。この条件を結合条件といいます。

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

関連項目:

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

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

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

2つのオブジェクトを手動で結合するには:

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

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

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

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

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

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

    Click here to select column for join
    
  4. 最初のオブジェクトに対して、適切な結合列を選択します。

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

  5. 2番目のオブジェクトに対して、適切な結合列を選択します。

    ヒント:

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

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

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

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

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

オブジェクトを自動結合する方法を学習します。

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

オブジェクトを自動的に結合するには:

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

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

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

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

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

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

  4. 「アクション」ウィンドウで、適切なオプションを選択します。
    • すべてをチェック - 現行のオブジェクト内の最初の20列を選択するには、このオプションを選択します。

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

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

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

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

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

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

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

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

問合せを作成し、後から使用するために保存できます。

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

ヒント:

「保存されたSQL」ビューには、クエリー・ビルダーに保存された問合せのみが表示されます。「SQLコマンド」では、SQLコマンドとクエリー・ビルダーの両方に保存された問合せを参照できます。

5.3.8.1 問合せの保存

問合せを保存する方法を学習します。

問合せを保存するには:

  1. 問合せを作成します。

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

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

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

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

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

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

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

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

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

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

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

保存されたSQL問合せを編集するには:

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

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

  2. 「保存されたSQL」タブを選択します。
  3. 次の方法で表示にフィルタを適用できます。
    • 「所有者」リストから表示内容を選択して、「実行」をクリックします。

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

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

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

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

保存されたSQL問合せを削除する方法を学習します。

保存されたSQL問合せを削除するには:

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

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

  2. 「保存されたSQL」タブを選択します。
  3. 削除する問合せを選択し、「チェックした項目の削除」をクリックします。

5.3.9 生成されたSQLの表示

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

「SQL」ビューにアクセスするには:

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

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

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

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

  3. 問合せに含める列を選択します。
  4. 「SQL」タブを選択します。

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

関連項目:

SQLコマンドの使用

5.3.10 問合せ結果の表示

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

次の方法で問合せを実行します。

  • 「実行」ボタンのクリック(または[Ctrl]+[Enter]を押す)

  • 「結果」タブの選択

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