SQL Autocomplete
Autocomplete suggests keywords, tables, columns, and functions based on where your cursor is and what tables are in scope.

., or after keywords like SELECT/FROM/JOIN. 50ms debounce. Press Escape to dismiss.
Completion Types
SQL Keywords
Context-aware keyword suggestions:

Table Names
Tables appear after FROM, JOIN, INSERT INTO, and similar keywords:

Column Names
Columns are suggested in SELECT, WHERE, ORDER BY, GROUP BY, and other column contexts. If a FROM clause exists anywhere in the statement (even after the cursor), columns come from those tables. If no FROM clause exists yet, columns from all cached tables appear as fallback.users.id, orders.id.
Alias Resolution
Type an alias followed by. to see that table’s columns:


Functions
SQL functions appear in SELECT, WHERE, and expression contexts:

Favorite Keywords
Favorites you’ve assigned a keyword to (DB-stored or linked-file@keyword frontmatter) appear in the popup as a top-priority match. Type the keyword, accept the suggestion, and the favorite’s full SQL replaces the keyword inline. See Favorites for how to assign keywords.
Schema Names
For databases with multiple schemas (PostgreSQL):public.users resolve correctly in FROM, JOIN, UPDATE, INSERT INTO, and CREATE INDEX.
For databases organized as database → schema → table (Snowflake, BigQuery), every segment completes — including tables of schemas you haven’t opened in the sidebar, which are fetched on demand:
CONVERT_TIMEZONE on Snowflake, SAFE_CAST on BigQuery) appear in the popup alongside the common SQL functions.
Context-Aware Suggestions
What appears depends on where your cursor is:| Context | Suggestions |
|---|---|
| After SELECT | Columns, *, aggregate functions |
| After FROM / JOIN | Table names |
| After WHERE | Columns, operators, AND/OR |
| After ON (JOIN) | Columns from both tables |
| After GROUP BY / ORDER BY | Columns, ASC/DESC |
Schema-Aware Completions
Suggestions use the actual tables and columns from the connected database, not heuristics or static keyword lists.- Table names come from the live schema (per database, per schema for PostgreSQL)
- Column names come from each table’s column metadata
- Schema-qualified table names resolve correctly:
public.users,app.orders,analytics.events - Aliases are resolved against the live schema (
u.afterFROM users ushowsuserscolumns)
Pre-FROM Column Suggestions
You don’t need a FROM clause to get column completions. If you start typing a column name before writing FROM, TablePro suggests columns from all cached tables. Once you addFROM users, suggestions narrow to that table’s columns. If a name is ambiguous across tables (id, name), the fallback qualifies it: users.id, orders.id.
