【SQL入門】中間テーブルを複数作成する方法

中間テーブルとは?

WITH句を使えば、一時的なテーブルを作成することができます。
これを利用する目的は、重複するクエリやデータを利用する際に、
何度も同じクエリを記載したり、処理する必要がなくなるため、
クエリの可読性が上がることがメリットです。

WITH句はどうやって使う?

念の為、WITH句を使って一時的なテーブルを作成する方法をご紹介しましょう。

記述方法

WITH temp_table as  (
SELECT
    col1,
    col2
FROM
    sample_table
) 

SELECT
    col1
FROM
    temp_table

このようにして、WITHの後にテーブル名を記載し、
カッコの中にテーブルを処理するクエリを書いております。

こうすることで、作成されたtemp_table
下の方のクエリで参照されて利用できるようになりました。

中間テーブルを複数作りたい

さて、ここからが本題になります。
先程ご紹介したWITH句ですが、複数の中間テーブルを作成したい場合、
以下のような記載方法になります。

WITH temp_table_1 AS (
SELECT
    colA,
    colB
FROM
    sample_table
    )
    
, temp_table_2 AS (
SELECT
    colA,
    colB
FROM
    temp_table_1
)   

SELECT
    colA
FROM
    temp_table_2

このように、,を使うことで、複数の中間テーブルを作成することができます。

参考文献

入門者の方に非常におすすめの本になります。
今回のような入門テーマをわかりやすく解説してくれており、
練習問題までたくさん用意されているので、
SQLの習得に有用ではないかと思います。

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)