パーティショニングされたテーブルや日付毎に保存したテーブルから一気にデータを

抽出する場合、普通に処理しようとすると以下のように大量なコードを書く必要が出てくる。

 ↓

SELECT
  id
  , sales
  , create_time
FROM
  `testDB.sales20180101` 

UNION ALL

SELECT
  id
  , sales
  , create_time
FROM
  `testDB.sales20180102` 

UNION ALL

… 省略 … 

SELECT
  id
  , sales
  , create_time
FROM
  `testDB.sales20181231` 

↓bigqueryの場合は、テーブル名にワイルドカード指定が可能なため、以下で事足りる

SELECT
  id
  , sales
  , create_time
FROM
  `testDB.sales2018*`

ただし、この処理をそのまま使うだけだと、検索対象のテーブルが大量になり、

クエリ課金でひどい目にあいますので、検索対象テーブルを絞る方法がありますので、こちらも参考ください。

おすすめの記事