クエリ・エディタは、Adaptive Server Enterprise の SELECT 文の作成を支援するツールです。クエリ・エディタでは、SQL クエリを作成したり、クエリをインポートして編集したりできます。クエリが完成したら、[OK] をクリックして、クエリを Interactive SQL にエクスポートして処理します。
クエリ・エディタには SQL クエリの各コンポーネントを設定するための一連のタブがあります。そのほとんどはオプションです。タブは SQL クエリが通常作成される順序で表示されています。
[テーブル] タブ - クエリでテーブルを指定するには、このタブを使用します。
[ジョイン] タブ - テーブルのデータを結合するためのジョイン方式を指定するには、このタブを使用します。クエリに複数のテーブルを含める場合は、それらのテーブルのデータを結合するためのジョイン方式を指定してください。[テーブル] タブで追加したテーブルに対してジョイン方式を指定しない場合、クエリ・エディタから 1 つの方式が提案されます。テーブルの間に外部キー関係がある場合は、その関係に基づいてジョイン条件が生成されます。それ以外の場合は外積が提案されます。クエリをインポートするとき、クエリ・エディタは、指定したジョイン方式をそのまま受け入れます (Adaptive Server Enterprise の場合とは異なり、指定のない JOIN が、デフォルトで KEY JOIN になることはありません)。
[カラム] タブ - 結果セットのカラムを指定するには、このタブを使用します。カラムを指定しない場合、すべてのカラムが表示されます。
[INTO] タブ - 結果をプロシージャのパラメータとして返す場合は、このタブを使用します。
[WHERE] タブ - 結果セットのローを制限する条件を指定する場合は、このタブを使用します。
[GROUP BY] タブ - 結果セットのローをグループ化する場合は、このタブを使用します。
[HAVING] タブ - グループ値に基づいて結果セットのローを制限する場合は、このタブを使用します。
[ORDER BY] タブ - ローをソートする場合は、このタブを使用します。
クエリ・エディタには、以下も含まれています。
式エディタ - 検索条件の構築や、計算カラムの定義には、式エディタを使用します。
[Derived table or subquery] ダイアログ - メインのクエリ・エディタとほとんど同じこのダイアログを使用して、抽出テーブルおよびサブクエリを作成します。
クエリ・エディタを開くには、Interactive SQL を開き、データベースに接続して、[ツール] - [クエリの編集] をクリックします。SQL コードを Interactive SQL で選択していた場合は、選択したコードがクエリ・エディタに自動的にインポートされます。
クエリ・エディタでクエリの作成が終わったら、[OK] をクリックして、クエリを Interactive SQL の [SQL 文] ウィンドウ枠に書き込みます。
クエリ・エディタでクエリを作成するときは SQL コードを使用する必要はありません。ただし、次の方法ではクエリ・エディタで SQL を使用できます。
Interactive SQL の [SQL 文] ウィンドウ枠でクエリを作成し、コードを強調表示してからクエリ・エディタを開くと、クエリ・エディタにクエリをインポートできます。
クエリ・エディタを使用しているときはいつでも、ダイアログの下部の [SQL] をクリックすると、作成しているクエリの SQL コードを確認できます。ここでコードを直接編集できます。編集すると、クエリ・エディタのユーザ・インタフェースのフィールドが自動的に更新されます。この SQL の見た目は、通常作成する SQL とは少し異なります。この SQL は、完全な形式になっています。つまり、すべてのテーブルには所有者名がプレフィクスとして付き、すべての文字列は引用符で囲まれるなどの処理がなされています。このような特別なフォーマットは通常は必要ありませんが、これによってあらゆる状況において SQL の動作が保証されます。
クエリ・エディタでは、Adaptive Server Enterprise の SELECT 文を作成します。ビューを作成するようには設計されていませんが、Interactive SQL でビューを作成してからクエリ・エディタで参照することはできます。また、SELECT 文以外の、UPDATE 文などの SQL 文を作成するようにも設計されていません。作成されるのは単独の SELECT 文であり、複数の SELECT 文の UNION 演算や INTERSECT 演算は作成されません。