Spark & Anvil Privacy
A bright library workshop with tall arched windows, big wooden card-drawer cabinets and a brass sorting machine, a teenager pulling exactly the right card from a drawer

QueryForge

Read the query, predict the rows, then run it.

Open the query console →
The table the first query reads, at rest: a row for each person, a column for each field. Tap to read a row.

How it works

  1. Read the table and the query. A small table, a real SQL query — nothing hidden.
  2. Predict the result set. Pick which of the candidate results the query returns — rows always matter; order matters only when the query asks for it (ORDER BY).
  3. Run to check. The engine runs the query and shows the true result — and reads it back clause by clause.
  4. Learn the trip-up. Every wrong option is a genuine misreading (you forgot the ORDER BY, or the DISTINCT, or read > as >=), so you see exactly which clause you skipped.

No timer, no streak, no score to chase. Your best is just for you and stays on this device.

Meet the crew — the four clauses, and the one habit

QueryForge is SELECT … FROM … WHERE … ORDER BY … LIMIT pulled apart into the moves each clause makes:

  • Filo — WHERE: keeps only the rows that pass the test, drops the rest.
  • Sorel — ORDER BY: arranges the rows in order (and DESC flips it high→low).
  • Sole — DISTINCT: keeps one of each kind, folds the repeats away.
  • Capp — LIMIT: takes just the first few, after everything else is done.
  • Delia — the habit: read the query and predict the result before you run it. That is how you catch a bug before it ships.

What next? Pick a door

Chosen from what this app is about. What you open is remembered on this device only.