複数のクエリを一度に連続実行できたら便利ですよね。
クエリ1を実行し、その結果をpre1テーブルに保存して、クエリ2で pre1テーブルを参照し、クエリ2の結果をさらにテーブルに保存して、、、
手間も多くて煩わしいですね。もっと簡単に、パッと実行したい!!!
まとめて一回で実行できたら手間も省けて時短になりますよね。
こんなイメージ ↓↓↓↓
調べてみると、とても簡単にクエリの連続実行ができました!
ポイントは2つだけ!
① クエリの末尾に「セミコロン」をつけて、複数のクエリを記述する
② 各クエリの中間結果を一時テーブル(*)に保存する
*一時テーブルとは? 24時間限定のテーブル。24時間後に自動で削除されます。 セッション レベルで存在するため、データセット内での保存や管理の必要はありません。 例えると、コピー&ペーストの際のクリップボードのような一時的な保存領域です。
まずは、ポイント①クエリの末尾に「セミコロン」をつけて、複数のクエリを記述します。
*今回はわかりやすさ重視のため「 select * from 〜 」というクエリに置き換えています。
実際にはデータを集計するためにもっと複雑なクエリを書いてます。
各クエリの結果も「結果を表示」をクリックするだけで、それぞれ確認することができます。
次に、ポイント②各クエリの中間結果を一時テーブルに保存する方法です。構文は以下の通りです。
一時テーブルではなく、テーブルを作成する方法は以下の通りです。
一連のクエリをスケジュールに登録して、自動実行するようにしておけば、
人の手を介さずに分析用の結果テーブルが作成できて、作業効率化も図れて便利ですね。
実際にお客様からも、今まで複数に分けて実行していたクエリを1度で実行できるようになって時短になった!
もっと早く知っていればよかった・・・など、喜びの声を多数いただきました。何よりです!
まとめ
- クエリとクエリの間に、セミコロンをつけて連続実行!
- 中間結果を一時テーブルに保存して、低コストでテーブル管理をシンプルにする!