こんな感じで作成する↓(mysqlとsqlserverはできました)

CREATE TEMPORARY TABLE temp_table001
SELECT * FROM test_db WHERE shouhin_id  = 1;

postgresqlの場合は、AS句が必要↓

CREATE TEMPORARY TABLE temp_table001
AS SELECT * FROM test_db WHERE shouhin_id  = 1;

○メリット

・サブクエリを利用するよりも速度が速い場合が多い。

・途中経過の抽出状況・件数等を確認出来るので、間違いを事前に防ぎやすくなる。

・何度も参照する場合、同じクエリを複数回発行しなくて済むので効率的。

・通常のcreate tableと異なり、セッションが終了すれば自動でdropされるのでサーバ上の容量圧迫にならない。(消し忘れを気にしなくて良い)

・非エンジニアでもSQLがかければある程度複雑なバッチ処理のような事も出来る

 >SQLでのバッチ処理をlinuxの自動実行処理に接続&登録すれば自動化にもつながる!

○デメリット

・複雑すぎる処理にするとメンテナンスが大変になる場合がある。

 ※エンジニアのコーディングと同じ

おすすめの記事