AI SummaryQuick reference for common SQL patterns. For detailed patterns, load:
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to install the "sql-patterns" skill in my project. Please run this command in my terminal: # Install skill into your project (2 files) mkdir -p .claude/skills/sql-patterns-0xdarkmatter-claude-mods && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/sql-patterns-0xdarkmatter-claude-mods/SKILL.md "https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/skills/data/sql-patterns-0xdarkmatter-claude-mods/SKILL.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/sql-patterns-0xdarkmatter-claude-mods/metadata.json "https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/skills/data/sql-patterns-0xdarkmatter-claude-mods/metadata.json" Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.
Description
Quick reference for common SQL patterns, CTEs, window functions, and indexing strategies. Triggers on: sql patterns, cte example, window functions, sql join, index strategy, pagination sql.
SQL Patterns
Quick reference for common SQL patterns.
CTE (Common Table Expressions)
`sql WITH active_users AS ( SELECT id, name, email FROM users WHERE status = 'active' ) SELECT * FROM active_users WHERE created_at > '2024-01-01'; `
Chained CTEs
`sql WITH active_users AS ( SELECT id, name FROM users WHERE status = 'active' ), user_orders AS ( SELECT user_id, COUNT(*) as order_count FROM orders GROUP BY user_id ) SELECT u.name, COALESCE(o.order_count, 0) as orders FROM active_users u LEFT JOIN user_orders o ON u.id = o.user_id; `
Window Functions (Quick Reference)
| Function | Use | |----------|-----| | ROW_NUMBER() | Unique sequential numbering | | RANK() | Rank with gaps (1, 2, 2, 4) | | DENSE_RANK() | Rank without gaps (1, 2, 2, 3) | | LAG(col, n) | Previous row value | | LEAD(col, n) | Next row value | | SUM() OVER | Running total | | AVG() OVER | Moving average | `sql SELECT date, revenue, LAG(revenue, 1) OVER (ORDER BY date) as prev_day, SUM(revenue) OVER (ORDER BY date) as running_total FROM daily_sales; `
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster