Auto-completions
The dropdown that opens as you type. It knows where the cursor is in the statement, so the list matches the clause you're in.
SELECT Opening, accepting, dismissing
| Action | Key |
|---|---|
| Open | Appears as you type; CtrlSpace opens it anywhere |
| Accept | Tab or Enter |
| Move | ↑ ↓ |
| Dismiss | Esc |
The list also opens after a dot, an opening paren, an operator, or a quote (see value suggestions).
Ghost text can be visible at the same time as the dropdown. Tab takes the ghost text; the arrow keys take the dropdown. See ghost completions.
What’s in the list
The list changes with the clause the cursor is in. Each kind has its own icon and a short detail on the right.
Keywords and phrases
Multi-word keywords complete as one item: GRO gives GROUP BY, LEF gives LEFT JOIN, ORD gives ORDER BY.
SELECT * FROM `ace-analytics.warehouse.events` GRO
On an empty line the list starts with statement keywords, a SELECT statement snippet, and functions that match what you’ve typed:
S Tables
After FROM and JOIN: tables from the projects you’ve connected, as full project.dataset.table paths, plus CTEs defined earlier in the query. Type any part of the path to filter: events matches ace-analytics.warehouse.events. Dot-by-dot navigation through project → dataset → table is covered in hierarchical completions.
Columns
Once a table is in the FROM clause, its columns appear in SELECT, WHERE, GROUP BY, ORDER BY, and ON. The detail shows the column’s type.
SELECT * FROM `ace-analytics.warehouse.fact_mot_test` WHERE No FROM yet means no columns. Write the FROM first, or use the ghost text after SELECT to fill it in.
STRUCT fields and ARRAY elements
A dot after a STRUCT column lists its fields, one level per dot (see hierarchical completions). Without the dot, the list already includes two levels of nested fields (device.category, geo.country), so you can type country and let filtering find geo.country. After UNNEST(event_params) AS p, p. lists the element’s fields.
Functions and signature help
Functions complete with their parentheses. Typing ( or , inside a call opens signature help with the current parameter in bold:
SELECT DATE_DIFF(completed_date, expiry_date, Gets the number of unit boundaries between two DATE values.
date_part: DAY, WEEK, MONTH, QUARTER, YEAR.
Namespaced functions chain the same way as tables: ML., SAFE., NET., AI. each open their own list.
Values
Inside a comparison (WHERE country = '¦') the list holds real values from that column, sampled at no cost. That has its own page: value suggestions.
Turning it off or tuning it
Settings → Editor → SQL Editor → Completions (also listed under Settings).
Choose when completion suggestions appear. Dot notation (table.column) always triggers completions.
How keywords and functions are filtered in autocomplete suggestions
Chain completions opens the next list by itself after you accept FROM or a table name; dot navigation chains regardless. Completion style set to Permissive (show all) lists every keyword and function everywhere and leaves filtering to you. BigFunctions are covered in hierarchical completions.
A separate Identifier Formatting option chooses whether accepted table names get backticks always or only when needed (reserved words, dashes, special characters).