>>-SELECT 文節-FROM 文節-+------------+-------------------------> '-WHERE 文節-' >----+---------------+--+-------------+------------------------>< '-GROUP BY 文節-' '-HAVING 文節-'
副選択 は、全選択の構成要素の 1 つです。
副選択は、FROM 文節で指定される表、視点、 またはニックネームから派生する結果表を指定します。 この派生の方法は、各操作の結果が次の演算の入力になるような、 一連の操作として記述することができます。 (これは、副選択を記述する 1 つの方法にすぎません。 派生操作を実行するために使用される方式は、この記述とはまったく異なる場合があります。)
副選択の文節は以下の順序で処理されます。
.-ALL------. >>-SELECT----+----------+---------------------------------------> '-DISTINCT-' >-----+-*--------------------------------------------------+--->< | .-,---------------------------------------------. | | V | | '----+-expression--+--------------------------+-+--+-' | | .-AS-. | | | '-+----+--new-column-name--' | '-exposed-name.*---------------------------'
SELECT 文節は、最終結果表の列を指定します。 列値は、選択リスト を R に適用することによって作成されます。 選択リストとは、SELECT 文節に指定された名前または式であり、 R は副選択のうち直前の操作の結果です。 たとえば、指定されている文節が SELECT、FROM、および WHERE だけの場合、 R は WHERE 文節の結果になります。
2 つの行が互いに重複していると言えるのは、 最初の行の各値が 2 番目の行の対応する値に等しい場合だけです。 重複を判別する場合、2 つのヌル値は等しいものとみなされます。
名前のリストは、その SELECT 文節を含むプログラムのバインド時に確立されます。 したがって、* (アスタリスク) では、 表参照を含むステートメントのバインド後に表に追加された列は識別されません。
名前のリストは、その SELECT 文節を含むステートメントのバインド時に確立されます。 したがって、ステートメントのバインド後に表に追加された列は、 * によって識別されません。
SELECT の結果の列の数は、演算形式の選択リスト (つまり、 ステートメントの準備時に設定されたリスト) の式の数と同じであり、 500 を超えることはできません。
選択リストの制限については、可変長文字ストリングの使用制限 を参照してください。
選択リストを R に適用した結果は、 GROUP BY または HAVING が使用されているかどうかによって異なる場合があります。 その結果について、次の 2 つのリストで説明します。