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 的更多技能

langgraph-docs
langchain-ai
存取 LangGraph 文件以建構具狀態代理與多代理工作流程。擷取官方 LangGraph Python 文件,涵蓋狀態機、基於圖形的代理設計及人機協作模式。根據查詢類型優先提供相關文件:實作指南用於操作問題、概念頁面用於理論、教學用於端到端範例、API 參考用於技術細節。自動選取 2 至 4 個最相關的文件 URL 並擷取內容以回答...
official
langgraph-human-in-the-loop
langchain-ai
暫停圖形執行以進行人工審查、批准或驗證,然後根據其輸入繼續執行。需要三個組件:檢查點儲存器(InMemorySaver 或 PostgresSaver)、配置中的執行緒 ID,以及可序列化為 JSON 的中斷負載。interrupt(value) 會暫停並顯示資料;Command(resume=value) 會繼續執行,並將該值返回給暫停的節點。所有 interrupt() 之前的程式碼在恢復時會重新執行,因此副作用必須是冪等的(使用 upsert,而非 insert)。支援審批工作流程,...
official
web-research
langchain-ai
使用此技能處理與網路研究相關的請求;它提供了一種結構化方法來進行全面的網路研究
official
langchain-oss-primer
langchain-ai
務必從此處開始任何 LangChain、Deep Agents 或 Lang
official
skill-creator
langchain-ai
建立有效技能的指南,透過專業知識、工作流程或工具整合來擴展代理功能。當使用者…時,請使用此技能。
official
social-media
langchain-ai
根據研究內容撰寫特定平台的社群媒體貼文,並生成搭配圖片。支援LinkedIn貼文(1,300字元,專業語氣)與Twitter/X推文串(每則280字元,採用1/🧵格式)。寫作前需將研究任務委派給子代理,並閱讀其發現以確保準確性與相關性。使用generate_social_image工具自動生成吸睛的社群圖片,採用大膽高對比構圖,針對小螢幕進行優化。
official
deep-agents-memory
langchain-ai
為Deep Agents提供可插拔的記憶體與檔案後端,支援短暫、持久及混合路由選項。四種後端類型:StateBackend(執行緒範圍內短暫)、StoreBackend(跨工作階段持久)、FilesystemBackend(本地開發的真實磁碟存取)及CompositeBackend(將不同路徑路由至不同後端)。FilesystemMiddleware提供六種檔案操作工具:ls、read_file、write_file、edit_file、glob、grep。CompositeBackend使用最長前綴匹配進行路由...
official
deep-agents-orchestration
langchain-ai
協調子代理、規劃多步驟任務,並在敏感操作時要求人類批准。透過任務工具將工作委派給專業子代理;自訂子代理支援隔離的工具集與系統提示,而預設的「通用」子代理則繼承主代理配置。使用 write_todos 規劃與追蹤複雜工作流程,將任務組織為待處理、進行中與已完成狀態;需提供 thread_id 以在多次調用間保持持續性。實作...
official