BigQueryの2種類のSQLをbqコマンドでクエリ実行
BigQueryは2種類のSQLがあります。
SQL 言語の切り替え (Switching SQL dialects) | BigQuery | Google Cloud
レガシーSQL (legacy SQL)
$ bq query 'SELECT * FROM [bigquery-public-data:covid19_open_data.covid19_open_data] LIMIT 10' $ bq query --use_legacy_sql=true 'SELECT * FROM [bigquery-public-data:covid19_open_data.covid19_open_data] LIMIT 10'
- テーブル名にハイフンなどがある場合は
[]
で囲む - テーブル名にプロジェクト名を付ける場合は
:
で接続する
--use_legacy_sql
はデフォルトで true
。設定ファイル .bigqueryrc
でデフォルトを変更することは可能。
標準SQL (standard SQL)
$ bq query --use_legacy_sql=false 'SELECT * FROM `bigquery-public-data`.`covid19_open_data`.`covid19_open_data` LIMIT 10'
または
$ bq query --use_legacy_sql=false 'SELECT * FROM `bigquery-public-data.covid19_open_data.covid19_open_data` LIMIT 10'
- テーブル名にハイフンなどがある場合はバッククオートで囲む
- テーブル名にプロジェクト名を付ける場合は
.
で接続する
以上。