Auto-completions
The dropdown that opens as you type. It knows where the cursor is in the statement, so after SELECT it lists columns and aggregates, after FROM it lists tables, and after a dot it lists what's inside the thing before the dot.
SELECT Opening, accepting, dismissing
| Action | Key |
|---|---|
| Open | Appears as you type; CtrlSpace opens it anywhere |
| Accept | Tab or Enter |
| Move | ↑ ↓ |
| Dismiss | Esc |
Typing a dot always opens the list, and so do (, =, comparison and arithmetic operators, ' and " (see value suggestions), and a space when there are columns or tables to offer.
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 — Querylab.io never loads every table in a project to guess. 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. 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.
SELECT device.
FROM `ace-analytics.warehouse.events` 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, 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).
- Auto-completion (default Automatic): Manual opens the list only on CtrlSpace or a dot.
- Chain completions (default off): after you accept
FROMor a table name, the next list opens by itself. Dot navigation chains regardless of this setting. - Enable INFORMATION_SCHEMA completions (default on): adds
INFORMATION_SCHEMAafter a dataset or region, and its views after that. - Enable BigFunctions (default off): adds the
bigfunctionsnamespace. See hierarchical completions. - Completion style (default Smart (context-aware)): Permissive (show all) lists every keyword and function everywhere and leaves filtering to you.
A separate Identifier Formatting option chooses whether accepted table names get backticks always or only when needed (reserved words, dashes, special characters).