InfiniSynapse Guide

What is NL2SQL? Natural Language to SQL Explained for 2026

A practical guide to NL2SQL — how it works under the hood, where it breaks in production, and how to measure a natural language to SQL tool against a schema as messy as your own.

By the InfiniSynapse Data Team — two analytics engineers, a data platform engineer, and an editor. Roles, review process, and correction policy are published on our editorial standards page.

Published: 2026-05-18 · Last updated: 2026-07-28 · Last reviewed: 2026-07-28 · Next review: 2026-10-28

Conflict of interest: InfiniSynapse publishes this guide and sells an NL2SQL product. We therefore do not rank ourselves anywhere on this page and we publish no first-party accuracy score. Everything quantitative here is either a public benchmark result you can verify, or a number you generate yourself with the harness below. Product content is confined to one clearly marked section at the end.

TL;DR

What is NL2SQL?

NL2SQL (Natural Language to SQL) is a class of AI systems that translate plain-English questions into executable SQL queries against a database. Modern NL2SQL systems combine large language models with schema-aware parsing to handle joins, aggregations, and complex business logic — replacing the manual SQL writing that has gated data access for two decades.

The capability matters because SQL never went away. Every BI dashboard, every operational report, and most data products still resolve to a SQL query somewhere. What changed in 2024–2026 is who writes it: schema-aware natural language to SQL agents now produce SQL that runs against production databases without hand-editing in the majority of cases, freeing analysts and business teams from the part of the job that was never the point.

The important thing to understand early is that the difficulty has moved. Generating syntactically valid SQL is no longer the hard part — frontier models do that reliably. The hard part is deciding which valid SQL answers the question, on a schema where several queries are all syntactically fine and only one is right. Everything else in this guide follows from that distinction.

How NL2SQL works: 4 layers under the hood

NL2SQL is not a single model — it is a pipeline. The four layers below run in sequence on every question, regardless of which vendor you pick. Understanding what each one does, and where each one can fail, is the foundation for evaluating any tool in the category.

1. Schema linking

The first step is matching question terms to actual table and column names. "Customer revenue" might mean orders.amount summed by customer_id, or it might mean customers.ltv_estimate — only the schema can disambiguate. Schema-aware systems pre-index your tables, columns, and primary/foreign-key relationships so the matching is grounded rather than guessed. Tools that skip this step rely on stuffing raw schema into the LLM prompt and degrade sharply past 100 tables, because the relevant three tables get buried in a wall of irrelevant DDL.

2. SQL generation

With schema in hand, an LLM proposes a SQL query. Frontier models in 2026 produce syntactically valid SQL almost always — the hard problem is no longer syntax, it is choosing the right join keys when multiple are plausible and the right time window when the question is ambiguous. This is where most accuracy is won or lost.

3. Validation

Before execution, a good NL2SQL system checks the generated SQL for obvious problems: referencing tables that do not exist, joining on incompatible column types, missing GROUP BY clauses. Some tools dry-run the query plan against the database; some surface the SQL to the user for human review. Tools without a validation surface let silent errors through.

4. Execution and interpretation

The query runs against the source database and returns rows. Better systems then summarize the result in natural language and offer follow-ups — "now segment by channel" — keeping schema and prior context across turns. The output is no longer a query string; it is an answer with the query attached as evidence.

If your tool stops at layer 2, it is an NL2SQL helper. If it covers all four layers and the conversation across turns, it is a full AI data analyst. The distinction matters when you are picking what to buy, because a helper puts the burden of catching errors entirely on the reader of the SQL.

Diagram of the 4-layer NL2SQL pipeline: a natural language question passes through schema linking, SQL generation, validation, then execution to return query results
Figure 1. The 4-layer NL2SQL pipeline. Where your tool stops on this diagram determines whether it is a helper or a full analyst.

Inside a schema-aware agent

"Schema-aware" and "agentic" get used as marketing adjectives, so it is worth being concrete about the mechanisms they refer to. Four are doing most of the work in systems that top the enterprise benchmarks.

Retrieval over schema metadata

Rather than putting the whole schema in the prompt, the system embeds and indexes table names, column names, comments, sample values, and key relationships, then retrieves only the subset relevant to the question. This is retrieval-augmented generation applied to metadata rather than documents. It is the single change that stops accuracy falling off a cliff past a hundred tables, because prompt relevance stops degrading as the schema grows.

Decomposition and multi-step planning

A question like "of customers acquired in March, what is 90-day retention by channel?" is not one query. Agentic systems decompose it into steps — identify the cohort, define the retention window, join the channel dimension, aggregate — and generate SQL per step or a single query built from an explicit plan. The plan is the artifact that makes the reasoning reviewable; without it you get one opaque query and no way to see which assumption was wrong.

Execution-guided self-correction

The system runs the candidate query — often against a LIMIT-ed subset or the query planner alone — and feeds errors back into generation. A missing column or a type mismatch becomes a repair signal instead of a failed answer. This catches the whole class of syntactically-valid-but-nonexistent-column failures, and it is cheap. It does not catch the more dangerous class where the SQL runs fine and the number is wrong, which is why it is not sufficient on its own.

A semantic layer or metric definitions

The strongest defence against silently wrong answers is not a better model, it is writing your business definitions down. If "active customer" and "recognised revenue" exist as governed definitions the system must use, the model no longer gets to guess. This is unglamorous and it is where most of the durable accuracy gain lives — the failures in the next section are almost all definitional, not technical.

NL2SQL accuracy: the academic vs enterprise gap

The single biggest mistake in evaluating NL2SQL is reading a vendor accuracy number from an academic benchmark and assuming it predicts production performance. It does not. The gap between published numbers and real-world behaviour is one of the most-studied issues in the field, and the one most likely to burn a buyer.

Table 1. NL2SQL accuracy by benchmark, 2026. The first four rows are published leaderboard results you can verify; the last two are field estimates and are labelled as such.
Benchmark What it measures Best 2026 accuracy Evidence type
Spider 1.0 Clean academic schemas, single database ~91% (saturated) Public leaderboard
BIRD (single-model) Realistic dirty data, single database ~80% Public leaderboard
Spider 2.0-Lite Real enterprise workflows, multi-dialect, 1000+ columns ~72% Public leaderboard
Spider 2.0-Snow Enterprise workflows solved with agentic pipelines ~97% Public leaderboard
Naive single-prompt LLM on your schema Production database, no schema indexing or validation 10–25% Estimate — see note
Schema-aware tooling on your schema Same workload with indexed schema + validation Highly variable Not measurable in general

Where the last two rows come from, and what they are not. The 10–25% band is an extrapolation, not a measurement: it is anchored on the published finding that frontier LLMs solved only 6.0–21.3% of Spider 2.0 tasks at launch, and Spider 2.0 is built from real enterprise databases. We have not run a controlled experiment across a population of customer schemas, and neither has anyone else that we know of, so treat it as an order of magnitude rather than a figure.

For the final row we previously published 86–95%. We have removed that number. It came from vendor-reported ranges rather than a controlled study, and presenting it beside verifiable leaderboard results implied a symmetry that did not exist. What is defensible is the direction: the same base models score dramatically higher on Spider 2.0-Snow when wrapped in schema indexing and validation than when prompted directly. How much you get on your schema depends on your schema, and the only honest way to find out is to measure it.

The gap is not the language model — it is everything around the language model. Spider 2.0 was designed to expose exactly this: real customer databases with 1000+ columns, ambiguous business questions, and the kind of schema noise that lives in every production system. That spread, not the base model, is why NL2SQL pilots that shine in a demo collapse in the second month.

When a vendor cites an accuracy figure, ask three questions: which benchmark, which schema, and what counts as correct. If they cite Spider 1.0 without context, the number tells you nothing about how the tool will behave on your data.

Bar chart of NL2SQL accuracy: direct prompting scores 91% on Spider 1.0, 80% on BIRD and 21% on Spider 2.0-Lite, while an agentic pipeline reaches 97% on Spider 2.0-Snow. A fifth column marked 'your schema' shows a question mark spanning the full range, labelled unknown until you measure it.
Figure 2. Accuracy on clean academic schemas is effectively solved; on real enterprise schemas direct prompting collapses and an agentic pipeline recovers. No bar is drawn for production tooling, because we found no controlled study to draw one from — measure your own schema instead.

Independent signals you can check yourself

Because we publish an NL2SQL product, you should not take our framing on trust. Every claim above is checkable against sources we do not control:

Does the choice of LLM matter?

Less than buyers expect, and the benchmarks make the case better than we can. The Spider 2.0 result that matters is not which frontier model came first — it is that the same class of model lands near 6–21% when prompted directly and near 97% inside an agentic pipeline on the Snow track. A gap of that size cannot be explained by model quality, because the model is held roughly constant across it.

That does not make model choice irrelevant. Three differences show up in practice:

We deliberately do not publish a model-by-model accuracy table. Per-model rankings on these benchmarks change with almost every release, so any table we froze here would be wrong within a quarter and you would have no way to tell. Read the live leaderboard for current standings, and spend your evaluation effort on architecture and on your own schema instead.

Why production NL2SQL fails: 5 failure modes, with SQL

If you have ever piloted an NL2SQL tool and watched it work on the demo and break on your own database, one of the five modes below is almost certainly the cause. Each is shown below as real SQL against the messy schema from the harness, so you can run them yourself. The numbers quoted are what that database actually returns at the default seed.

1. Hallucinated columns

The LLM invents a table or column that does not exist. Common in tools without strict schema grounding. This is the least dangerous failure, because it announces itself: the query errors at runtime with no such column. Execution-guided self-correction catches almost all of it.

2. Wrong join keys

Our orders table carries three plausible links to a customer: customer_id (correct), user_id (the acting user, not the account), and external_ref (a billing reference that is not unique per customer). All three produce runnable SQL.

-- WRONG: joins on a non-unique billing reference, silently fanning out rows
SELECT c.plan_tier, ROUND(SUM(o.total_amount),2) AS revenue
FROM orders o JOIN customers_v2 c ON c.external_ref = o.external_ref
GROUP BY c.plan_tier;
--   free 2,565,806 | pro 2,744,504 | enterprise 2,757,195

-- RIGHT: join on the account key, exclude voided orders and deleted accounts
SELECT c.plan_tier, ROUND(SUM(o.total_amount),2) AS revenue
FROM orders o JOIN customers_v2 c ON c.customer_id = o.customer_id
WHERE o.void_flag = 0 AND LOWER(o.status) IN ('complete','completed')
  AND c.is_deleted = 0
GROUP BY c.plan_tier;
--   free 53,933 | pro 574,654 | enterprise 4,587,247

Read those two result sets again. The wrong join does not merely shift a total — it reports the free tier generating $2.57M when it actually generates $54K, and it flattens the tiers into near-parity. A pricing decision made on the first output would be exactly backwards, and nothing in the query looks suspicious.

3. Misread time windows

"Last quarter" can mean the most recently completed quarter, the trailing 90 days, or quarter-to-date. Worse, our orders table has three date columns — created_at (row inserted), booked_at (revenue recognition) and closed_at (fulfilment) — and nothing in the schema says which one accounting uses.

-- WRONG: created_at is not the revenue recognition date, and no status filter
SELECT ROUND(SUM(total_amount),2) FROM orders
WHERE created_at >= '2025-01-01' AND created_at < '2025-04-01';
--   1,725,574

-- RIGHT: recognise on booked_at, exclude voided and incomplete orders
SELECT ROUND(SUM(total_amount),2) FROM orders
WHERE void_flag = 0 AND LOWER(status) IN ('complete','completed')
  AND booked_at >= '2025-01-01' AND booked_at < '2025-04-01';
--   1,119,206

A 54% overstatement of Q1 revenue, from a query that runs cleanly and returns one tidy number.

4. Aggregation and grain errors

Counting customers who placed an order is not counting orders. This is the most common silent error in generated SQL, and its size depends on how skewed your data is — which is exactly what you cannot see from the query.

-- WRONG: counts orders, not customers (the "grain" trap)
SELECT COUNT(*) FROM orders
WHERE booked_at >= '2025-01-01' AND booked_at < '2026-01-01';
--   2,194

-- RIGHT: distinct customers, excluding voided orders and deleted accounts
SELECT COUNT(DISTINCT o.customer_id) FROM orders o
JOIN customers_v2 c ON c.customer_id = o.customer_id
WHERE c.is_deleted = 0 AND o.void_flag = 0
  AND o.booked_at >= '2025-01-01' AND o.booked_at < '2026-01-01';
--   317

Nearly seven times off, because a handful of heavy accounts place dozens of orders each. Related traps in the same family: unit mismatches (our order_items.unit_price_cents is in cents while orders.total_amount is in dollars, so forgetting to divide by 100 is a 100× error), and status enum drift (complete, completed and COMPLETE all occur and all mean the same thing).

5. Confidently wrong

When a question is ambiguous or unanswerable, most models produce a plausible answer rather than asking. The sharpest example in our fixture is a stale snapshot column. customers_v2.ltv_estimate exists, is named exactly like what the user asked for, and is out of date.

-- WRONG: reads a stale snapshot column because the name matches the question
SELECT ROUND(ltv_estimate,2) FROM customers_v2 WHERE customer_id = 1;
--   5,860.06

-- RIGHT: derive lifetime revenue from the orders that actually happened
SELECT ROUND(COALESCE(SUM(total_amount),0),2) FROM orders
WHERE customer_id = 1 AND void_flag = 0
  AND LOWER(status) IN ('complete','completed');
--   3,284.31

78% overstated, from a query so simple no reviewer would flag it. This is the failure mode that argues hardest for a semantic layer: the fix is not a smarter model, it is a governed definition that says lifetime revenue is derived, not stored.

Notice the pattern across all five. Only the first announces itself. The other four return clean numbers, and every one of them is a number somebody could put in a board deck. Picking an NL2SQL tool is therefore mostly a question of how those four get caught: schema grounding, a semantic layer, and a SQL surface a human actually reads.

Measure it yourself: a reproducible harness

Vendor accuracy numbers, ours included, are worth less than one afternoon of measurement on a schema shaped like yours. So we publish the measuring instrument rather than a score.

Three files, standard library only, no dependencies, released under CC BY 4.0:

python make_messy_schema.py                      # build nl2sql-eval.db
python score_nl2sql.py --init-answers mytool.sql # blank template
#   ... ask each question, paste the SQL the tool produced ...
python score_nl2sql.py --answers mytool.sql      # execution accuracy /10

Two rules make the result meaningful. Ask each question exactly as written, adding no hints the tool did not earn. And do not repair its SQL before scoring — the repair is the cost you are trying to measure.

What this harness is not. It is a diagnostic, not a benchmark. Ten questions on one synthetic schema cannot rank the market, and a tool scoring 7/10 here is not "70% accurate" in any general sense. Its value is that the traps are the ones that actually cause silent production errors, and that you get a number for your shortlist rather than ours. The data is randomly generated and contains no real records, so it is safe to hand to a tool whose data agreement you have not signed yet — which is often the blocker for evaluating anything at all.

We publish no score of our own product against it, deliberately. A vendor grading itself on its own fixture is not evidence, and you would be right to discount it.

NL2SQL vs Text-to-SQL vs Text2SQL: are they different?

Short answer: not really. NL2SQL, Text-to-SQL, text2sql, NL-to-SQL, and natural language to SQL all describe the same technical capability — translating a natural-language question into SQL. Treating them as synonyms when searching for tools is correct. But the naming carries information about who is speaking, which is useful when you are weighing a claim.

Table 2. The same capability, three naming conventions, and what each usually signals about the source.
TermWho uses itWhat it usually signals
Text-to-SQL Academic literature: Spider, BIRD, Dr.Spider A benchmark frame: one question in, one query out, scored by execution accuracy. Precise, and narrower than a product.
NL2SQL Product and vendor documentation A system frame: multi-turn interaction, schema indexing, result interpretation. Broader, and less precisely defined.
text2sql Both, plus Text2SQL.ai as a specific brand Generic category shorthand. Check whether a given page means the product or the capability.

Why this is worth two minutes rather than a footnote: the frame determines what an accuracy number means. A paper reporting "85% execution accuracy on Text-to-SQL" measured one query per question against a gold query, with no follow-ups, no clarification, and no human reading the SQL. A vendor reporting "85% NL2SQL accuracy" may be counting multi-turn sessions where the user rephrased twice, or counting answers a human approved. Both can be honest; they are not comparable. When you see a number, work out which frame produced it before you compare it to anything.

When NL2SQL is the right choice (and when it isn't)

NL2SQL is a productivity multiplier for exploratory analytical work, not a replacement for the BI layer. The teams that get the most value run NL2SQL alongside a SQL editor and a dashboard tool, not instead of them.

NL2SQL fits when:

NL2SQL is the wrong choice when:

If three or more of the "fits" bullets describe your team and none of the "wrong choice" bullets block you, an NL2SQL pilot is a high-ROI two-week experiment.

How to evaluate an NL2SQL tool: 6 criteria

When picking from the dozen-plus NL2SQL tools on the market in 2026, score each one on the six dimensions below. No tool wins on all six — pick the three that matter most for your team, then trial the top two on real data.

1. Schema awareness

Does the tool index your tables, columns, and key relationships before generating SQL, or does it prompt the LLM with raw schema each time? Ask specifically how the tool selects which tables to consider for a given question — the answer tells you whether it will survive your table count. Raw-prompt approaches degrade sharply past roughly 100 tables.

2. Multi-source support

Can the tool join across two databases, or across a database and a file? Most NL2SQL tools handle one source at a time. If your data lives in PostgreSQL plus Snowflake plus a CSV, multi-source matters from day one.

3. Validation and review surface

Does the tool show you the SQL before running it? Does it dry-run for column-existence checks? Tools without a review surface let silent errors through, which is the failure mode that erodes trust fastest — and as the five examples above show, four of five failures produce clean-looking numbers.

4. Semantic layer and metric definitions

Can you tell the tool that "recognised revenue" means booked_at and complete status, and have it obey? A tool that lets you encode definitions converts the entire class of definitional failures into a configuration problem you solve once. A tool that cannot will re-guess every time.

5. Complex query ceiling

How does the tool handle long SQL with multiple JOINs, CTEs, and window functions? Most work well under 100 lines and degrade past that. If your real workload has long queries, test those specifically rather than trusting a general accuracy claim.

6. Deployment, licensing and cost

Open-source tools like Vanna AI let you self-host and audit; closed-source products are faster to start but lock you into their pipeline. Pick based on your security and compliance constraints. On price, tools range from a few dollars a month to enterprise quotes, and almost all have trials sufficient to run the harness above. The price gap is rarely the differentiator; the accuracy gap usually is.

Score each tool 1–5 on the dimensions that matter for your team, then run the harness on the top two. A tool that scores 4+ on your top three dimensions, even if it scores poorly on the others, is the right pilot candidate. See our best NL2SQL tools 2026 guide for a ranking against this rubric.

Glossary

NL2SQL
A class of AI systems that translate natural-language questions into executable SQL against a database, combining a language model with schema-aware parsing to resolve joins, aggregations, and business logic.
Text-to-SQL
The same capability under its academic name. Implies a benchmark framing: one question in, one query out, scored against a reference query.
Schema linking
Mapping terms in a question to the specific tables and columns that represent them. The first pipeline stage, and the one whose quality determines whether accuracy survives a large schema.
Execution accuracy
The standard NL2SQL metric: a generated query counts as correct if running it returns the same result set as the reference query, regardless of whether the SQL text matches. Used by Spider, BIRD, and the harness on this page.
Grain
The unit one row represents in a result — orders, customers, or customer-months. Grain errors are the most common source of silently wrong NL2SQL answers, because the query runs and the number looks reasonable.
Semantic layer
A governed set of metric and entity definitions that sits between raw tables and the question, so that "active customer" resolves the same way every time instead of being re-guessed per query.
Soft delete
Marking a row inactive with a flag such as is_deleted rather than removing it. A frequent cause of overcounting, because nothing in the schema tells a generated query to filter it out.

FAQ

What does NL2SQL mean?

NL2SQL stands for Natural Language to SQL. It describes systems that translate plain-English questions like "top customers last quarter" into a valid SQL query that runs against a database. Modern NL2SQL systems do more than translate — they read the schema, plan multi-step queries, and surface the SQL alongside the answer for verification.

Is NL2SQL the same as Text-to-SQL?

In most practical contexts, yes. NL2SQL, Text-to-SQL, text2sql, and natural language to SQL all describe the same capability — turning natural-language input into SQL output. Academic papers tend to use "Text-to-SQL" because it maps cleanly to a benchmark framing; product copy prefers "NL2SQL" because it implies a broader natural-language interaction. The distinction matters when comparing accuracy numbers, because the two framings measure different things.

How accurate is NL2SQL in 2026?

It depends almost entirely on the schema, not the model. On clean academic benchmarks like Spider 1.0, accuracy is around 91% and effectively saturated. On Spider 2.0, built from real enterprise databases, frontier LLMs solved only 6–21% of tasks at launch, while agentic pipelines using comparable models now reach about 97% on the Snow track. On your own schema the honest answer is that nobody can tell you — which is why we publish a harness so you can measure it in an afternoon.

When should I not use NL2SQL?

NL2SQL is the wrong fit when the question requires reasoning the database cannot answer (forecasting that needs an external model, decision rules that aren't encoded in any table, or document Q&A that needs RAG rather than SQL). It is a poor fit when your team writes a small number of identical queries repeatedly — a saved SQL view is faster and more reliable. And it is premature when your business definitions are contested, because the tool will produce two defensible answers to the same question.

What are the best NL2SQL tools in 2026?

The right pick depends on whether you need a query helper, a full AI data analyst, or a SQL IDE upgrade — and on whether one source or several. Rather than repeat a vendor list here, evaluate candidates against the six criteria above and then run the harness on your two finalists; a tool's score on your schema is worth more than its position in anyone's ranking, including ours. Our separate best NL2SQL tools guide applies this rubric to named products.

Do I still need to know SQL if I use NL2SQL?

Not to write it from scratch — but reading SQL still pays off, and the examples in the failure-modes section show why. Four of the five common failures return a clean number with no error, so the only defence is a human who can look at the query and notice it joined on the wrong key. Analysts who read SQL trust NL2SQL results faster; non-technical users can rely on the summary and chart output for most questions, provided someone reviewed the definitions once.

Which LLM is best for NL2SQL?

Architecture matters more than model choice, and the benchmarks show it: comparable models score 6–21% prompted directly on Spider 2.0 and around 97% inside an agentic pipeline on the Snow track. Where models do differ usefully is long-context handling, adherence to your metric definitions, and willingness to ask instead of guessing when a question is ambiguous. We deliberately publish no model-by-model table, because per-model rankings change with nearly every release; check the live leaderboard instead.

How do I measure NL2SQL accuracy on my own data?

Use execution accuracy: write the reference SQL for a set of real questions, run the tool's SQL, and compare result sets rather than query text. The harness on this page does exactly that against a deliberately messy synthetic database — generate it, ask the 10 questions verbatim, paste each tool's SQL into the template, and score. Ask questions exactly as written and do not repair the SQL before scoring, because that repair is the cost you are trying to measure.

About this guide

Authorship: Written by the InfiniSynapse Data Team. Team composition, individual roles, the review process, and our corrections policy are published on the editorial standards page. Reviewed before publication by our editorial review process.

Last updated: 2026-07-28. Last reviewed: 2026-07-28. Next scheduled review: 2026-10-28. Benchmarks and the tooling landscape are re-verified each cycle.

Methodology: Leaderboard figures come from the public Spider 2.0 and BIRD leaderboards, re-verified 2026-07 (BIRD single-model best ~80%, Spider 2.0-Lite best ~72%, Spider 2.0-Snow best ~97%, human BIRD performance 92.96%). The 6.0–21.3% figure for frontier LLMs at Spider 2.0 launch is from the Spider 2.0 paper. Architecture framing follows the 2025 VLDB survey of LLM-based Text-to-SQL (arXiv 2408.05109). All SQL and every number in the failure-modes section is reproducible from the published harness at its default seed.

Limitations: The 10–25% band for naive prompting on production schemas is an extrapolation from Spider 2.0 results, not a controlled experiment across customer databases — we have not run one. We publish no first-party accuracy score and no model-by-model comparison, in both cases because we could not produce a defensible one. The harness is a 10-question diagnostic on one synthetic schema; it is not a benchmark and cannot rank the market.

Conflict of interest: InfiniSynapse publishes this guide and sells an NL2SQL product. We therefore rank no tools on this page, score nothing of our own, and confine product content to one marked section. Competing tools link to their own sites so you can verify claims directly. No paid placement and no affiliate links.

References

  1. [Academic] Lei et al. — Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL WorkflowsarXiv:2411.07763
  2. [Academic] Yu et al. — Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQLarXiv:1809.08887
  3. [Academic] Li et al. — Can LLM Already Serve as a Database Interface? A Big Bench for Large-Scale Database Grounded Text-to-SQLs (BIRD)arXiv:2305.03111
  4. [Academic] Chang et al. — Dr.Spider: A Diagnostic Evaluation Benchmark towards Text-to-SQL RobustnessarXiv:2301.08881
  5. [Academic] A Survey of Text-to-SQL in the Era of LLMs: Where Are We, and Where Are We Going? (VLDB 2025) — arXiv:2408.05109
  6. [Leaderboard] Spider 2.0 — spider2-sql.github.io
  7. [Leaderboard] BIRD-Bench — bird-bench.github.io
  8. [Leaderboard] Spider 1.0 — yale-lily.github.io/spider
  9. [Vendor] Vanna AI — vanna.ai
  10. [Vendor] Text2SQL.ai — text2sql.ai
  11. [Dataset] InfiniSynapse — messy schema generator, question set, and scorer (CC BY 4.0) — make_messy_schema.py, nl2sql-eval-questions.csv, score_nl2sql.py

Where InfiniSynapse fits

Product section — our own tool

Everything above is intended to be useful whichever tool you choose, and nothing above ranks or scores our product. This section does describe it. Skip it without losing anything from the guide or the evaluation method.

InfiniSynapse is a schema-aware NL2SQL layer that indexes your tables and key relationships, plans multi-step queries, shows the generated SQL before it runs, and can join across more than one source in a single question. It connects to PostgreSQL, MySQL, Snowflake, BigQuery, MongoDB, and files.

The honest scope: it is a fit when several people need ad-hoc access to a schema too large to memorise, when questions cross sources, and when someone will later ask which query produced a figure. It is the wrong tool when the same ten queries run every week — a saved view is faster and cannot drift — and it does not remove the need for governed metric definitions. As the failure modes above show, no tool does.

We publish no score for it against our own harness, because a vendor grading itself on its own fixture is not evidence. Run the harness on us and on whichever alternatives you are considering, and compare the numbers you produced.

Try InfiniSynapse free →