こんな感じで作成する↓(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の自動実行処理に接続&登録すれば自動化にもつながる!
○デメリット
・複雑すぎる処理にするとメンテナンスが大変になる場合がある。
※エンジニアのコーディングと同じ