Every query writes to a table.
If you don’t set a destination, BigQuery creates a temporary table (per-user, per-project) that lives ~24 hours. (임시테이블 24시간 보관)
Destination set → you can Append or Overwrite an existing permanent table.
(결과를 영구 테이블에 쌓기/덮기 선택 가능)
Forgot destination?
After the query, click “Save as table” in the results pane to copy the temp table → permanent. (결과창에서 Save as table)
Cached results (결과 캐시):
Same query may return from cache if:
Base tables unchanged
No time-volatile functions (e.g., CURRENT_DATE()
etc.)
UI shows “cached result” after run. You can disable cache in Show Options.
What: A virtual table defined by a SQL query. Not materialized → the defining query runs each time you query the view.
Can be used from UI, bq
CLI, API, and BI tools (e.g., Looker Studio).
Billing: Billed on bytes scanned by the top-level query (includes all referenced tables/fields).
Standard query quotas apply.
Key limitations (핵심 제약):
Export job from a view (내보내기 불가)
TableDataList
JSON API to read view
Mix Standard SQL query with a Legacy-SQL-defined view
Schema snapshot: View stores underlying schemas at creation; if base schema changes, the reported schema may be stale until you update the view (results are still correct)
Can’t update a Legacy SQL view to Standard SQL in Web UI
→ use CLI:
bq update --view "SELECT ..." dataset.view_name
UDF inside the view definition
Wildcard table queries referencing a view
Nested views: Legacy SQL up to 4 levels; Standard SQL up to 100 levels
Authorized views: up to 1,000 per dataset