June 17, 2026 · 4 min read

Write any SQL query from plain English with Crade

Crade reads your database schema on screen and gives you the exact SQL for what you actually want, in PostgreSQL, MySQL, BigQuery, or whatever you are running.

TablePlusFileEditViewWindow
9:24
T+
prod.users — Query
prod
▸ users
id, email, signup_date, tier...
▸ orders
id, user_id, amount...
products
sessions
events
SELECT u.id, u.email, u.signup_date
FROM users u
LEFT JOIN orders o
ON o.user_id = u.id
AND o.created_at > NOW() - '30 days'::INTERVAL
WHERE u.signup_date >= '2026-05-01'
AND u.signup_date < '2026-06-01'
AND o.id IS NULL;
Results . 47 rows in 0.082s
idemailsignup_date
18293[email protected]2026-05-28
18287[email protected]2026-05-26
18271[email protected]2026-05-24
18259[email protected]2026-05-22
18241[email protected]2026-05-19
18222[email protected]2026-05-15
New chat

Find users who signed up in May 2026 but have not placed an order in the last 30 days.

SELECT u.id, u.email, u.signup_date FROM users u LEFT JOIN orders o ON o.user_id = u.id AND o.created_at > NOW() - INTERVAL '30 days' WHERE u.signup_date >= '2026-05-01' AND u.signup_date < '2026-06-01' AND o.id IS NULL ORDER BY u.signup_date DESC; 47 rows. Good candidates for a re-engagement email.

Ask anything about your screen...
Crade

SQL is the second-most-Googled language after JavaScript, mostly because every database has its own dialect, every table has different column names, and the syntax for anything beyond SELECT * is just enough out-of-reach that you go look it up. Crade reads the schema on your screen and writes the query that fits your specific tables.

What you put on your screen

  • Your SQL client (DBeaver, TablePlus, pgAdmin, BigQuery console) with the relevant tables visible
  • A schema diagram if you have one
  • Sample rows from the tables you are querying (Crade reads them to understand the data)

What you say to Crade

Write me a PostgreSQL query that finds users who signed up in May 2026 but have not placed an order in the last 30 days.

Crade reads your schema and gives you the query with the right table and column names.

Step-by-step

  1. Open your SQL client

    Connect to the database. Open the tables you will query so Crade can see the column names and types.

  2. Click the Crade icon

    Expand Crade. Floats over your client.

  3. Describe the query in plain English

    Say what you want, not how. "Total revenue per customer in Q2, sorted by amount." Crade picks the joins and aggregations.

  4. Get the query

    Paste into your SQL client, run it.

  5. Debug if it errors

    Paste the error back to Crade. Most errors are a misnamed column or missing join key. Crade fixes it in one turn.

  6. Iterate

    "Add a filter for the EU region only." "Show me the running total." "Convert this to BigQuery syntax." Crade adjusts.

What Crade picks up automatically

  • Your dialect (PostgreSQL, MySQL, SQLite, BigQuery, Snowflake) based on visible context
  • Table relationships from your schema (foreign keys visible in the diagram or naming convention)
  • Column types (Crade knows VARCHAR + INT, casts appropriately)
  • Whether to use window functions, CTEs, or subqueries based on complexity

Tips for accurate queries

  • Show the schema, not just one table. Joins go wrong when Crade does not know the foreign keys.
  • Mention the dialect explicitly if it is not obvious. PostgreSQL syntax for JSON differs from MySQL.
  • For complex queries, ask Crade to walk through the logic in plain English first: "Explain the steps before you write the SQL." Catches misunderstandings.
  • If a query runs slow, paste the EXPLAIN ANALYZE output. Crade reads it and suggests indexes or query restructure.
  • For destructive queries (UPDATE, DELETE), always ask Crade for a SELECT version first to verify the WHERE clause matches what you expect.

Frequently asked questions

Can Crade run the query for me?

No, by design. Crade writes the SQL; you paste and run in your client. Running database queries (especially against production) is where mistakes have real consequences, so the human-in-the-loop boundary is intentional.

What about query performance?

Crade writes correct queries first. For performance, share the EXPLAIN ANALYZE output and ask Crade to suggest indexes or optimisations. It is good at common patterns but not a replacement for a senior DBA on critical production tuning.

Does Crade understand my data?

Crade reads the schema visible on screen. For semantic understanding (what users.tier really means), share a few example rows or a column comment. The more context visible, the better the query.

Can I use this with NoSQL (MongoDB, DynamoDB)?

Yes. Crade handles MongoDB find/aggregate, DynamoDB query/scan, Firestore, and most query languages. Specify the database type in the prompt.

What if my schema is huge?

Show Crade only the tables you are querying. For a 200-table schema, scrolling all of it into view is impractical. Focus on the subset and Crade writes the query for that.

The whole loop in one sentence

Schema on screen, plain English description, working SQL back. No more guessing the LEFT JOIN direction or remembering window function syntax.