Legacy SQLとは
-
BigQuery初期の独自SQL方言(BigQuery固有の文法)
-
現在は非推奨(Deprecation予定はないが、基本的に使われない)
-
一部のユニークな関数(例:TABLE_DATE_RANGE())が使える
-
JOIN やサブクエリが貧弱で、複雑な処理には不向き
-
デフォルトではプロジェクト名やテーブル名に角括弧 [] を使う記法
日付ベースのテーブルに対する範囲指定
TABLE_DATE_RANGE は Legacy SQL において日付ベースのテーブルに対して範囲指定でクエリするための関数。
Firebase Analytics で作成される app_events_YYYYMMDD のようなテーブルに対して、過去30日間のデータを対象にする典型的なやり方。
既存のアプリケーションのODBC接続を通じたBigQueryのデータへのアクセス
-
Legacy SQLではODBC経由でクエリできないため、standard SQLでviewを作り直す必要がある。
-
ODBC接続には認証とアクセス制御が必要。そのため、適切なIAMロールを割り当てる必要がある。
テーブル名の表示形式
Legacy SQLでは [project_id:dataset.table] という形式が用いられる。