構文の中で使用することにより、処理を行うことが出来ます。BY)を指定できます。次表に、使用できる節とその説明を示します。expression|出力結果の加工を行います。|WHERE|得られた前行を、指定した検索条件により選別されたサブグループ化します。&br;また、サブクエリーが使用できます。BY|指定により、同じ列をグループ化します。HAVING節と同時に使用することもあります。BY節と同時に使用します。指定条件により返される行グループを限定します。|UNION|同一内容の行が存在しない動的テーブルを得るために、単一または複数のSELECTで得られた結果を結合します。BY|列名または問合せ文中の指定順を指定することによりソートを行います。ソートの順番は、昇順(ASC)と降順(DESC)が指定できます。|PLAN|クエリオプティマイザにクエリプランを指定します。この指定は、未指定で通常に行われる指定よりも優先されます。OFでアップデートされうる)を指定します。|FIRST|(FB専用)&br;検索で得られた全ての行から、(デフォルトでは先頭からの)指定した行数だけの結果を出力する。出力を開始する行を指定したい場合は、SKIP節を併用する。|SKIP|(FB専用)&br;指定された行数だけ、検索で得られた行の先頭をスキップする。LOCK|(FB1.5)明示的な行ロック。LOCK>#withlock]]を参照。expression>)に関しては[[CASE>#case]]を参照。SELECTは多機能で構文が複雑な文です。Guide)"を見てください。PROJECTテーブルの指定した列を検索します。-ワイルドカード(*)により、テーブル(COUNTRIES)の全ての列と行が取得されます。-(埋め込みSQL用の例)WHERE節で指定された条件の全ての行を集計関数によりカウントします。-文中でエイリアスを定義し、WHERE節で列を指定するために使用した例です。-2つの列を取り出していますが、2つめの列によりソートされて行が出力されます。-左結合(外部結合)での検索を行います。-クエリオプティマイズプランを設定して検索します。-結合された3つのクエリオプティマイズプランを指定しています。そのうち2つはインデックス付きの列です。ここは、主にリリースノート類から情報を抜き出して訳してあります。本家にある元となったリリースノートを参照して下さい。された行数のみを出力します。(FB1.5では0が指定可能です。SKIPを指定すると、結果の先頭より指定した行数だけ出力をスキップします。容易に可能となります。1.5で追加された構文です。指定した条件により、検索で得られた列の結果を加工します。サーチドケースの二種類があります。[[NULLIF>#nullif]],[[COALESCE>#coalesce]]の2つが追加されています。両者に関しては本項の後に続く項で解説しています。シンプルケースは、CASEで式(列名など)を指定してWHENに合致条件を書きます。サーチドケースは、WHENに続いて検索条件式を書きます。共に、THENに指定した結果を出力します。続いて記述した結果が出力されます。記述した場合と同等になります。記述した場合と同等になります。ネストと同じということです。CASE節の省略形記述です。返すように指定します。指定した式1が式2と同じ値の場合は、結果としてNULLを返します。場合は式1の値をそのまま返します。出力したい場合に使用出来ます。行を明示的にロックできます。悲観的な(pessimistic)ロック機能は用意されました。''※Firebirdでは、正しく設計されている場合このように悲観的なロックの必要性は非常にまれなことです。''この拡張機能を使用を考える前に、行われる処理の内容をよく理解してください。それが現在のトランザクションが終了するまで継続します。トランザクションからのライトアクセスは禁止されます。各行がロック中であることが順次設定されます。成功しているように見えたロック処理は、その時点で失敗となります。LOCK"は、DSQL及びPSQLで使用可能です。サブクエリや、結合セットでは使用できません。BY、及びその他のオペレーションと同時には指定できません。出力に対しても使用できません。LOCK節を使う時には、以下のことを理解してください。データベースエンジンとしては、明示的なロックはレコード単位で処理されます。レコード、または例外を返します。トランザクションパラメータによって変化します。|isc_tpb_consistency|明示的ロックは、暗黙もしくは明示的なテーブルロックによってオーバライドされ、無視されます。|isc_tpb_concurrency&br;+isc_tpb_nowait|明示的ロックを始めたトランザクションや他の活発なトランザクションによってレコードの変更が生じた場合、最新コンフリクトレポート例外が発生します。|isc_tpb_concurrency&br;+isc_tpb_wait|・レコードがいずれかのトランザクションによりレコードの変更が生じた場合、最新コンフリクトレポート例外が発生します。|~|・活動中のトランザクションが該当レコードの所有権(通常の書込みや明示的ロック)をすでに持っている場合、明示的ロックを試みるトランザクションは、ブロックしてるトランザクションの完了を待ち、ロックを行おうとします。|~|・ブロックしているトランザクションが該当レコードに対し変更を行った場合、やはり最新コンフリクト例外が発生します。|isc_tpb_read_committed&br;+isc_tpb_nowait|該当するレコードの所有権(通常の書込みや明示的ロック)を持った活動中のトランザクションがあるならば、コンフリクトレポート例外が発生します。|isc_tpb_read_committed&br;+isc_tpb_wait|・活動中のトランザクションが該当レコードの所有権をすでに持っている場合、明示的ロックを試みるトランザクションは、ブロックしてるトランザクションの完了を待ち、ロックを行おうとします。|~|・このTPBモードでは、最新コンフリクトレポート例外は発生しません。トランザクションの終了待ちのどちらかの状態になります。TPBモードの設定によって決まります。しない限り、WHERE節で指定された探索条件に合致するものとなります。検索条件に合致しないものに対してはロックが行われないことを保証されます。