BIGQUERY · QUERYFLOW 1.7

Write BigQuery SQL without leaving your Mac.

By Chris Davidson, founder of yForest · Updated September 26, 2026

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.

Start 14-day free trial Download on theMac App Store

No credit card. 14 days. Cancel in one click.

macOS 15+ · Apple Silicon native · 14-day free trial · No credit card

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.

Why the editor matters more than the dialect

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.

What you get

How it works

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.

BigQuery explorer and SQL editor open side by side with query results below
Explorer, editor and results, arranged the way you'd actually work.

A worked example

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.

Query history you can actually search

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.

A second example: arrays without the usual fight

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.

Formatting long queries without fighting the editor

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.

When you'd rather ask than type

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.

Studio vs. Pipelines

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.

What it doesn't do

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.

Copying results out

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.

Keyboard-first, when you want it

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.

QueryFlow Studio $9.99/mo · $99/yr
QueryFlow Pipelines $29.99/mo · $199.99/yr

Frequently asked

Does the editor support standard SQL functions too?

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.

Can I keep multiple queries open at once?

Yes. Tabs persist across restarts, so a query you were mid-way through stays exactly where you left it.

Is there a size limit on results?

Up to 100,000 rows per query. Add a LIMIT or aggregate down for anything larger.

Do I need the Ask panel to use the editor?

No, they're independent. Plenty of people use the editor and never open the Ask panel, or the reverse.

Which tier includes the editor?

Both. Studio includes the full editor, explorer and Ask panel; Pipelines adds scheduling, Data Sync and Watch This on top.

Your BigQuery SQL, on your Mac.

14-day free trial, no card. Connect a project and start typing.

Start 14-day free trial

No credit card. 14 days. Cancel in one click.