Skip to main content

query-writing

Writes and executes SQL queries from simple SELECTs to complex multi-table JOINs, aggregations, and subqueries. Use when the user asks to query a database, write SQL, run a SELECT statement, retrieve data, filter records, or generate reports from database tables.

来源信息

仓库
langchain-ai/deepagents
最近来源活动
2026年3月17日 04:15
检测到的 SKILL.md 语言
英语
星标
30,321
分支
4,263

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
query-writing
description
Writes and executes SQL queries from simple SELECTs to complex multi-table JOINs, aggregations, and subqueries. Use when the user asks to query a database, write SQL, run a SELECT statement, retrieve data, filter records, or generate reports from database tables.
# Query Writing Skill ## 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; ``` ## Error Recovery If a query fails or returns unexpected results: 1. **Empty results** — Verify column names and WHERE conditions against the schema; check for case sensitivity or NULL values 2. **Syntax error** — Re-examine JOINs, GROUP BY completeness, and alias references 3. **Timeout** — Add stricter WHERE filters or LIMIT to reduce result set, then refine ## 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)
在 GitHub 查看