😊

[BigQuery] UNNEST関数で配列から一時テーブルを作る

2024/01/18に公開

tl,dr

UNNEST関数を使うと [1,2,3,4,5]みたいな配列から簡単にテーブルが作れる

入力

select num
from unnest([5,1,3]) AS num
order by num

出力

num
1 1
2 3
3 5

背景とか

テストやらなんやらで手元の配列からテーブルにして、それに対してクエリを実行したい時ってありますよね。そんな時従来のSQLだと以下の様になると思うんですが、使いづらいですよね。そんな時unnest関数を使うと簡単にテーブルが作れて楽ですね、という話です。

よくあるやり方

select *
from (
select 5 as num
UNION ALL
select 1 as num
UNION ALL
select 3 as num
) order by num

Discussion