A native editor for GoogleSQL: real autocomplete on your actual table names, inline completions that fill in from both directions, and a schema explorer that doesn't require a page reload.
No credit card. 14 days. Cancel in one click.
Quick answer: QueryFlow's SQL editor is built for GoogleSQL: backtick-quoted project.dataset.table paths, UNNEST, ARRAY_AGG and STRUCT all get proper highlighting and autocomplete. It runs natively on your Mac against a connected BigQuery project, with results in a sortable table and an Ask panel for when you'd rather describe the query than write it.
Most SQL editors treat every warehouse the same and hope for the best. GoogleSQL has real differences from standard SQL, array and struct handling especially, and an editor that doesn't know the difference just highlights keywords and calls it a day. QueryFlow's editor understands the dialect: it knows UNNEST flattens an array, it knows project.dataset.table needs backticks, and its autocomplete offers your real column names, not a generic guess.
1. Connect your project. Sign in with Google or add a service account key. 2. Open the Explorer tab in the SQL Editor's sidebar and expand a dataset. 3. Right-click a table for a starting query, or write your own from scratch.
You want the top five referrers by session count, flattening a nested array of UTM parameters most tools would fight you on:
SELECT referrer, COUNT(*) AS sessions FROM `my-gcp-project.web.sessions`, UNNEST(utm_params) AS param WHERE param.key = 'source' GROUP BY referrer ORDER BY sessions DESC LIMIT 5;
Autocomplete offers referrer and utm_params as soon as you type the table name, and the results land in a native table you can sort without a page repaint.
Every query you run gets saved to history automatically, searchable by table name or by a snippet of the SQL itself. If you wrote something useful last Tuesday and didn't think to save it as a file, history is usually where it still lives, which matters more on BigQuery than most warehouses since a decent query against a large table can take real thought to get right.
Say a table stores tags as a repeated field and you want the most common one per category:
SELECT category, tag, COUNT(*) AS uses FROM `my-gcp-project.catalog.products`, UNNEST(tags) AS tag GROUP BY category, tag QUALIFY ROW_NUMBER() OVER (PARTITION BY category ORDER BY COUNT(*) DESC) = 1;
Autocomplete offers tags and tag correctly at each stage because the editor tracks what UNNEST produced, not just the original table's columns.
GoogleSQL queries with multiple UNNESTs and window functions get long fast. The editor's automatic indentation follows your parentheses and clause structure, so a query nested three levels deep still reads top to bottom instead of turning into a single unreadable line. That matters more when you are the one debugging a coworker's query months later with none of the original context.
Press ⌘L to open the Ask panel and describe what you want in plain English. It writes GoogleSQL against your real names and shows you the query before anything runs, and you can send that same query straight to Watch This or a schedule.
The editor, explorer and Ask panel are Studio. Scheduling a query's output and Data Sync into another table are Pipelines. See pricing for details.
It won't tell you how much a query costs before you run it. For anything touching a table in the billions of rows, check BigQuery's own validator first, the editor doesn't replace that step.
A result grid can be copied as TSV for pasting into a spreadsheet, or exported to CSV directly, without a separate export dialog buried three menus deep. For a quick one-off share with a coworker who doesn't have warehouse access, that's usually faster than setting up a scheduled job just to move ten rows once.
Common actions, running the current query, opening the Ask panel, switching tabs, all have keyboard shortcuts, so a fast typist can stay off the mouse for most of a session. It's not required, the toolbar buttons do the same things, but it adds up over a day of back-and-forth between a dozen small queries.
Yes, standard aggregate and window functions work as expected. The GoogleSQL-specific handling is on top of that, for arrays, structs and the project.dataset.table path style.
Yes. Tabs persist across restarts, so a query you were mid-way through stays exactly where you left it.
Up to 100,000 rows per query. Add a LIMIT or aggregate down for anything larger.
No, they're independent. Plenty of people use the editor and never open the Ask panel, or the reverse.
Both. Studio includes the full editor, explorer and Ask panel; Pipelines adds scheduling, Data Sync and Watch This on top.
14-day free trial, no card. Connect a project and start typing.
No credit card. 14 days. Cancel in one click.