ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

SQL to AsakusaFW:join(CoGroup)

2019-12-12 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2019の12日目、SQLをAsakusaFWに変換するポイントについてです。

SELECT文のFROM句ではテーブルを結合できます。
これはAsakusaFWではCoGroup演算子で実現できます。

AsakusaFWでは基本的にCoGroupを使わずに他の演算子を使った方が良いとされていますが、SQLのJOINに関してはCoGroupにしておくのが無難だと思います。
というのは、JOINではキーによる結合結果として複数レコード出力されることがあり、AsakusaFWで結合時に複数レコード出力できるのはCoGroupだけだからです。

ONで「=」によってキー同士を比較しているカラムは、CoGroupの結合キーとして使用できます。
そしてCoGroupの本体では、2つの入力を二重ループで処理します。
INNER JOINの場合、双方に存在しているレコードを出力するだけなので簡単ですが、
LEFT JOINの場合は、左側に存在しない場合は右側を出力するので、そういった処理が必要となります。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« SQL to AsakusaFW:WHERE(2) | トップ | SQL to AsakusaFW:join(Mas... »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事