Query Writing Skill When to Use This Skill
Use this skill when you need to answer a question by writing and executing a SQL query.
Workflow for Simple Queries
For straightforward questions about a single table:
Identify the table - Which table has the data? Get the schema - Use sql_db_schema to see columns Write the query - SELECT relevant columns with WHERE/LIMIT/ORDER BY Execute - Run with sql_db_query Format answer - Present results clearly Workflow for Complex Queries
For questions requiring multiple tables:
- Plan Your Approach
Use write_todos to break down the task:
Identify all tables needed Map relationships (foreign keys) Plan JOIN structure Determine aggregations 2. Examine Schemas
Use sql_db_schema for EACH table to find join columns and needed fields.
- Construct Query SELECT - Columns and aggregates FROM/JOIN - Connect tables on FK = PK WHERE - Filters before aggregation GROUP BY - All non-aggregate columns ORDER BY - Sort meaningfully LIMIT - Default 5 rows
- Validate and Execute
Check all JOINs have conditions, GROUP BY is correct, then run query.
Example: Revenue by Country SELECT c.Country, ROUND(SUM(i.Total), 2) as TotalRevenue FROM Invoice i INNER JOIN Customer c ON i.CustomerId = c.CustomerId GROUP BY c.Country ORDER BY TotalRevenue DESC LIMIT 5;
Quality Guidelines Query only relevant columns (not SELECT *) Always apply LIMIT (5 default) Use table aliases for clarity For complex queries: use write_todos to plan Never use DML statements (INSERT, UPDATE, DELETE, DROP)