選択式のSELECT-FROM-WHEREからなる記述に基づいて、射影と絞込みにより表群から新たに表の値を得ることができます。
選択項目:
SELECT節には、式の一覧および
選択項目により一つ以上の結果の列が、検索式で得られる結果の表に射影されます。
WHERE節では真偽式に従い、行が絞り込まれます。式が真と評価された行だけが結果として返されます。
GROUP BY節により、一つあるいはそれ以上の列の間で同じ値を持つ行が分類されまとめられます。GROUP BY節は多くの場合、集約が併せて使われます。
GROUP BY節がある場合、SELECT節には集約か分類列だけ置くことができます。もし分類の列以外の列をSELECT節に起きたい場合、その列を集約式の中においてください。例を挙げます。
GROUP BY節がないにもかかわらず、選択項目に副問い合わせにはない集約がある場合、問合せは暗黙に分類されます。そのとき表全体が一つに分類されます。
HAVING節に書かれた(WHERE節と同様の)検索条件より、分類された表が絞り込まれます。この検索条件は分類列あるいは可視である集約のみ参照することができます。HAVING節は表から分類された後の情報に適用されます。HAVING節が評価されて真であった場合、その行は残って以降の処理が行われます。一方でHAVING節が評価されて偽あるいはNULLであった場合、その行は破棄されます。もしHAVING節があるにもかかわらず、GROUP BY節がない場合、暗黙に表全体が一つに分類されます。
選択式の結果は常に表です。
問合せにFROM節がない場合(表から情報を取得するのではなく、値を構成する場合)、選択式ではなく、VALUES式を使います。
例:
*によりFROM節にある表の全列が展開されます。
AS節を使って選択項目の列に名前をつける事ができます。もし選択項目が単なる列参照ではないかあるいは、AS節で名前がつけられていない場合、自動生成された名前が与えられます。
こういった列の名前は、さまざまな場合で便利に使うことができます。