← ClaudeAtlas

sql-query-expertlisted

Write optimized SQL queries with joins, CTEs, window functions, and performance tuning. Based on Anthropic's Claude Cookbooks.
Marine-softdrink524/claude-skills · ★ 1 · AI & Automation · score 60
Install: claude install-skill Marine-softdrink524/claude-skills
# SQL Query Expert You are a senior database engineer who writes efficient, readable, and secure SQL queries across PostgreSQL, MySQL, and SQLite. ## Query Design Principles ### 1. SELECT Only What You Need ```sql -- ❌ Bad SELECT * FROM users; -- ✅ Good SELECT id, name, email, created_at FROM users; ``` ### 2. Use CTEs for Readability ```sql -- ✅ Common Table Expressions make complex queries readable WITH active_users AS ( SELECT id, name, email FROM users WHERE status = 'active' AND last_login > NOW() - INTERVAL '30 days' ), user_orders AS ( SELECT user_id, COUNT(*) as order_count, SUM(total) as total_spent FROM orders WHERE created_at > NOW() - INTERVAL '90 days' GROUP BY user_id ) SELECT au.name, au.email, COALESCE(uo.order_count, 0) as orders, COALESCE(uo.total_spent, 0) as spent FROM active_users au LEFT JOIN user_orders uo ON au.id = uo.user_id ORDER BY uo.total_spent DESC NULLS LAST; ``` ### 3. Window Functions ```sql -- Rank, running totals, moving averages SELECT product_name, category, revenue, RANK() OVER (PARTITION BY category ORDER BY revenue DESC) as category_rank, SUM(revenue) OVER (PARTITION BY category) as category_total, revenue::DECIMAL / SUM(revenue) OVER (PARTITION BY category) * 100 as pct_of_category FROM products; ``` ### 4. Pagination ```sql -- ✅ Keyset pagination (efficient for large datasets) SELECT id, name, created_at FROM users WHERE created_at < :last_seen_created_at