SQL Generation

Turn plain-English questions into correct SQL against a schema. The skill behind analytics chat, natural-language dashboards, and 'just ask the database' interfaces.

50
Duration
3s
Input Tokens
990
Output Tokens
220
Cost
$0.00
Context
Input
Show the names of customers who paid more than the average sale price for the vehicles they bought.
Expected output
SELECT c.name FROM customers c JOIN sales s ON c.customer_id = s.customer_id WHERE s.sale_price > (SELECT AVG(s2.sale_price) FROM sales s2 WHERE s2.vehicle_id = s.vehicle_id);
Model output
WITH CustomerAvgSale AS (
  SELECT
    s.customer_id,
    AVG(s.sale_price) AS avg_sale_price
  FROM sales AS s
  GROUP BY
    s.customer_id
)
SELECT DISTINCT
  c.name
FROM customers AS c
JOIN sales AS s
  ON c.customer_id = s.customer_id
JOIN CustomerAvgSale AS cas
  ON s.customer_id = cas.customer_id
WHERE
  s.sale_price > cas.avg_sale_price;