CTE は共通テーブル式を表します。これは一時的な名前付き結果セットであり、常に結果セットを返します。 SQL クエリを簡素化するために標準 SQL によって導入されました。 CTE(共通テーブル式)については以下の記事で紹介していますので、ご参考になれば幸いです。
#CTE とは何ですか?
共通テーブル式 (CTE) は、単一の SELECT、INSERT、UPDATE、DELETE、または CREATE VIEW ステートメントの実行範囲内で定義された一時的な結果セットと考えることができます。 CTE は、オブジェクトとして保存されず、クエリ中にのみ保持されるという点で、派生テーブルに似ています。派生テーブルとは異なり、CTE は自己参照であり、同じクエリ内で複数回参照できます。 [関連ビデオ チュートリアルの推奨事項:MySQL チュートリアル]
CTE
CTE の構造は式名で表されます。 AS キーワードと SELECT ステートメントで構成される CTE の。 CTE を定義すると、SELECT、INSERT、UPDATE、または DELETE ステートメントでテーブルまたはビューと同様に参照できます。 CTE は、CREATE VIEW ステートメントの定義 SELECT ステートメントの一部として使用することもできます。 CTE の基本的な構文構造は次のとおりです:WITH Expression_Name [ ( ColumnName [1,...n] ) ] AS ( CTE query definition )
SELECT <column_list> FROM expression_name;
CTE の種類
CTE には 2 つのタイプがあります。 CTE: 再帰的と非再帰的。
再帰 CTE: それ自体を参照する一般的なテーブル式です。 非再帰 CTE は、その名前が示すように、再帰を使用しません。CTE 自体を参照しません。CTE を使用する利点
○可読性 : CTE により可読性が向上します。すべてのクエリ ロジックを 1 つの大きなクエリにまとめるのではなく、ステートメントの後半で結合する複数の CTE を作成します。これにより、必要なデータのチャンクを取得し、それらを最後の SELECT で結合することができます。
○代替ビュー: ビューを CTE に置き換えることができます。これは、ビュー・オブジェクトを作成する権限がない場合、またはこの1つの問合せでのみ使用されるためビュー・オブジェクトを作成したくない場合に便利です。
○Recursion: CTE を使用すると再帰クエリが作成されます。つまり、独自のクエリを呼び出すことができます。これは、組織図などの階層データを操作する必要がある場合に便利です。
○制限事項 : SELECT ステートメント自体の参照 (再帰) や、非決定的関数を使用した GROUP BY の実行などの SELECT ステートメントの制限を克服します。
○Ranking: ROW_NUMBER()、RANK()、NTILE() などのランキング関数を使用する場合。
以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !以上がSQL における CTE とはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。