はじめに
前回に引き続き、2026年に公開された論文「Semantic Data Modeling, Graph Query, and SQL, Together at Last?」に基づいて、現在Google社内で利用されている、セマンティックデータモデルに対応するSQL拡張を紹介します。今回は、前回に紹介し切れなかった2つのSQL拡張構文、そして、グラフ型データ構造との関係を説明します。
配列内の集計(Horizontal aggregation)
これは、ARRAY型(配列型)のカラムに保存されたデータについて、配列内のデータの集計処理を行います。たとえば、文字列型のカラムStudentID(生徒ID)とARRAY型のカラムgrades(複数のテストの点数をまとめた配列)を持つStudentsテーブルがあり、StudentIDごとに、該当生徒のすべてのテストの平均点を計算する場合を考えます。処理としてはシンプルですが、実は、従来のSQLではそれほど簡単には記述できません。第215回の記事で説明したように、ARRAY型のデータをUNNESTで展開すると、ARRAY内のデータが複数の行に分かれた新しいテーブルが生成されます。そのため、元のStudentsテーブルとジョインしてから、StudentIDでまとめる必要があります。具体的には、次のようなSQLクエリーになります。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。

