いくつかの基本的な例は何ですか？
列「school_id``」、 `` `` school_name``、 `` `` "district_id``、生徒数を備えた学校と呼ばれるテーブルがあるとしましょう。
その地区IDとその地区の学校あたりの生徒の平均数とともに、学校のリストを表示するための質問を書く必要があります。

あなたのロジックは次のとおりかもしれません：

    学校あたりの学生のリストとそれに対応する平均数を含むテーブルを作成します。
    このテーブルを学校のリストに参加させ、必要な情報を表示します。
    各地区の学校あたりの平均生徒数でテーブルを落とします。

CTE（一般的なテーブル式）を使用する場合、テーブルを作成してドロップする必要はありません。以下に示すように、「with」クエリによって作成された一時的な結果セットを単純に参照できます。

`` `
avg_studentsと（
select district_id、avg（desustor）として平均_students
学校から
Group by district_id）
S.School_name、S.District_id、avg.average_studentsを選択します
学校から
AVG_Students Avgに参加します
on s.district_id = avg.district_id;
`` `

したがって、ここでは、「avg_students」を「with query」で一時的な結果セット「avg_students」を定義することから始めます。ブラケットには、この結果セットを定義する「選択」ステートメントがあります。これには、学校ごとの生徒の対応する平均数が含まれています。閉じた括弧の後、メインの「選択」ステートメントを開始します。割り当てられた名前（「avg_students」）を使用して、通常のテーブルのように設定された一時的な結果を参照することに注意してください。出力には、学校名、その地区のID、およびこの地区の平均生徒数が含まれます。


|school_name |District_id |Average_Students |
|--- |--- |--- |
|幸せな子供|2 |238 |
|スマート|2 |238 |
|太陽|5 |176 |
|モンテッソーリ|5 |176 |


他のSQLクエリでは使用できないという意味で、一時的な結果セットは「削除」されます。もちろん、必要に応じて再度定義できます。