Formulas for

Explain SQL

Data Processing5 credits/cellSheets · ExcelNew
=VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation")

Document queries by the row. Turns each SQL query into a plain-English explanation — Google Sheets or Excel.

It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 5 credits per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.

A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.

sqlexplainer.xlsxsample data
B2fx=VERVE("sqlexplainer", A2, "field", "explanation")
A
B
C
D
1
Query
Explanation
Operation
Complexity
2
SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC
This SQL query retrieves the names of user…
SELECT
moderate
3
4
click any cell to see its formula5 credits / cell

One value per row

Fill =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation") down a column and Explain SQL returns a result for every row — a batch of live values in a single drag, no code.

Enrich data in place

Add Explain SQL beside a table you already have to append its output right where your data lives, then sort, filter, or chart on it.

Stays fresh on its own

Set the sheet to refresh on a schedule and the explain sql values keep themselves current without anyone re-typing.

The same function works in both apps — install once, sign in with your key, and type it into any cell.

Google SheetsAdd-on

Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.

=VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation")
Microsoft ExcelAdd-in

Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.

=VERVE.CALL("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation")

Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.

  • detailPremium

    Explanation detail level: brief, standard, or detailed

    =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "detail", "standard")

Add a field name as the last argument to land just that value in the cell.

  • Explanation
    =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation")
  • Operation
    =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "operation")
  • Tables
    =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "tables")
  • ComplexityPremium
    =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "complexity")

Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans

Explain SQL, answered

Everything you need to wire it into a sheet.

How do I pull Explain SQL into Google Sheets?
Install the VerveSheets add-on, sign in once with your key, and type =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "field", "explanation") into any cell. The "field" argument names the value you want back, so the cell resolves to a single number or string you can chart, sort, or feed into another formula.
What data can I pull from Explain SQL?
Explain SQL returns explanation, operation and tables — name any one of them as the "field" argument and that value lands in the cell. Leave the field out and the whole record spills into a two-column table instead.
Can I narrow what Explain SQL returns?
Yes — Explain SQL takes "detail" as optional inputs. They go in as "name", value pairs after the required ones, in any order, so =VERVE("sqlexplainer", "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > '2024-01-01' GROUP BY u.id HAVING COUNT(o.id) > 5 ORDER BY order_count DESC", "detail", "standard") shapes the result without changing anything else.
Which Explain SQL fields need a paid plan?
complexity is included from the Starter plan up. On the Free plan the cell returns #PREMIUM(field) rather than a wrong or empty value, so it's always obvious which one to upgrade for. Every other field works on Free.
Can I fill a whole column of Explain SQL at once?
Yes. Put your query values down a column and point the formula at the range — A2:A50 instead of A2 — and one call returns a value for every row. Dragging the formula down works too, but the range form is a single billed call per column rather than one per cell.
How many credits does each Explain SQL cell cost?
Each resolved cell costs 5 credits. A cell only re-bills when it actually refreshes, so a sheet you aren't touching doesn't keep charging.
Does Explain SQL work in Excel as well as Google Sheets?
Yes — same arguments, same key, same fields. Excel namespaces custom functions, so the call is =VERVE.CALL() there and =VERVE() in Google Sheets; nothing else about it changes.

Put Explain SQL in your next spreadsheet. Add the extension, paste the formula, and the cell keeps itself current.

Scaling up?

Volume pricing, custom SLAs, and dedicated support for high-traffic teams.

Contact sales