select-statement

SELECT文は、DECLARE CURSOR文またはFOR文で直接指定できるクエリの形式です。また、準備された後にDECLARE CURSOR文で参照したり、SQLJの代入節で直接指定することもできます。 SPUFIまたは Db2 command line processor を使用して発行することもでき、これにより、端末に結果表が表示されます。 いずれの場合も、select-statement で指定される結果表が fullselect の結果になります。

select文の権限付与

問い合わせの承認を参照してください。

select文の構文

構文図を参照するビジュアルシンタックスダイアグラムをスキップするWITH,common-table-expression 全選択1 update-clauseread-only-clause2optimize-clauseisolation-clausequeryno-clauseSKIP LOCKED DATA3
注:
  • 1 fullselect が VALUES 節、共通テーブル式更新節 、読み取り専用節最適化節分離節 、クエリノ節の場合、SKIP LOCKED DATA も指定してはならない
  • 2 update-clause が指定されている場合は、read-only-clause を指定してはなりません。
  • 3 同一の条項は、複数回指定してはならない。

SELECT文で特定されたテーブルおよびビューは、現在のサーバーまたは現在のサーバーが接続を確立できる Db2 サブシステムに存在することができます。

Db2 for z/OS® に関するローカルクエリ、またはサーバーとリクエスタが Db2 for z/OS であるリモートクエリの場合、テーブルが ASCII または Unicode でエンコードされている場合、取得されたデータは EBCDIC でエンコードされます。 ASCIIまたはUnicodeでエンコードされたデータの取得方法については、「ASCIIまたはUnicodeテーブルに対する分散クエリ 」を参照してください。

SELECT ステートメントは、暗黙的または明示的にユーザー定義関数を呼び出したり、暗黙的に ストアード・プロシージャーを呼び出すことができます。 この手法は、SQL ステートメントのネストと呼ばれています。 関数やプロシージャーは、 自分より低いレベルで呼び出されたときに、暗黙的に SELECT ステートメントで 呼び出されます。 例えば、ユーザーが SELECT ステートメントからユーザー定義関数を呼び出し、次にユーザー定義関数が ストアード・プロシージャーを呼び出すと、ユーザーは、暗黙的にストアード・プロシージャーを呼び出すことになります。