WITH の説明

WITHは、SQLクエリ内で一時的な名前付きクエリ結果セットを作成するための構文です。これにより、複雑なクエリをより簡潔かつ効率的に記述することができます。

WITH句は通常、サブクエリやビューを作成する代わりに使用されます。クエリ内で定義された一時的な結果セットは、その後のクエリの中で参照されることができます。これにより、クエリの可読性が向上し、複数回同じ結果を計算する必要がなくなります。

WITH句は次のような形式で使用されます:

WITH 一時テーブル名 (カラム1, カラム2, ...) AS (
    サブクエリ
)
SELECT * FROM 一時テーブル名;

ここで、一時テーブル名は一時的な結果セットに対する名前です。カラムリストは省略可能で、一時テーブルのカラム名を指定することができます。サブクエリは一時テーブルの定義です。

以下は、WITH句の使用例です:

WITH 売上表 AS (
    SELECT 商品名, SUM(数量) AS 総数量
    FROM 注文テーブル
    GROUP BY 商品名
)
SELECT *
FROM 売上表
WHERE 総数量 > 100;

この例では、売上表という名前の一時テーブルを作成し、注文テーブルから商品ごとの総数量を計算します。その後、総数量が100を超える商品のみを選択しています。

WITH句は、クエリの可読性を向上させ、複雑なクエリをより効率的に記述するための強力な機能です。