query-writing

作者: langchain-ai

撰寫並執行 SQL 查詢,從簡單的 SELECT 到複雜的多表 JOIN、聚合與子查詢。當使用者要求查詢資料庫時使用…

npx skills add https://github.com/langchain-ai/deepagents --skill query-writing

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

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)

來自 langchain-ai 的更多技能

deepagents-thread-inspector
langchain-ai
檢查並解釋本地 Deep Agents Code SQLite 工作階段儲存庫中的對話。當 LangSmith 追蹤工具不可用時作為備用方案,用於…
deepagents-python-quickstart
langchain-ai
按照官方快速入門,在 Python 中搭建一個最小的本地 Deep Agent,使用提供者原生的網路搜尋而非 Tavily。當使用者想要……時使用。
deepagents-typescript-quickstart
langchain-ai
按照官方快速入門指南,以 TypeScript 搭建一個最小的本地 Deep Agent,使用供應商原生的網路搜尋而非 Tavily。當使用者……時使用
eval-engineering
langchain-ai
反覆檢查 agent 儲存庫與使用者提供的可選追蹤資料,訪談使用者,並逐一建立、執行及稽核 Harbor evals。用於……
LangChain RAG Pipeline
langchain-ai
在構建任何檢索增強生成(RAG)系統時,請調用此技能。涵蓋文檔加載器、遞迴字符文本分割器、嵌入(OpenAI)等。
LangChain Structured Output & HITL
langchain-ai
langchain-structured-output-&-hitl — 一個可安裝的 AI 代理技能,由 langchain-ai/langchain-skills 發布。
LangSmith Datasets
langchain-ai
當從追蹤建立評估資料集,或將資料集上傳至 LangSmith,或查詢資料集時,請調用此技能。涵蓋資料集類型(final_response、…)
langsmith-evaluator
langchain-ai
在為 LangSmith 建立評估管道時,請調用此技能。涵蓋三個核心組件:(1) 建立評估器 - LLM 作為評審、自訂程式碼;(2)…