query-writing
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install langchain-ai-deepagents-query-writing
Repository
Skill path: examples/text-to-sql-agent/skills/query-writing
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
Open repositoryBest for
Primary workflow: Write Technical Docs.
Technical facets: Full Stack, Tech Writer.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: langchain-ai.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install query-writing into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/langchain-ai/deepagents before adding query-writing to shared team environments
- Use query-writing for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: query-writing
description: For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
---
# 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:
1. **Identify the table** - Which table has the data?
2. **Get the schema** - Use `sql_db_schema` to see columns
3. **Write the query** - SELECT relevant columns with WHERE/LIMIT/ORDER BY
4. **Execute** - Run with `sql_db_query`
5. **Format answer** - Present results clearly
## Workflow for Complex Queries
For questions requiring multiple tables:
### 1. 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.
### 3. 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
### 4. Validate and Execute
Check all JOINs have conditions, GROUP BY is correct, then run query.
## Example: Revenue by Country
```sql
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)