| name | sql-best-practices |
| description | Use this skill when writing SQL queries — selects, joins, aggregations, window functions, or schema modifications. Apply whenever SQL is needed to ensure correctness, safety, and performance. |
| category | data_analysis |
SQL Best Practices
Query quality:
- Use
SELECT col1, col2 — never SELECT * in production code.
- Use CTEs (
WITH) for readability instead of deeply nested subqueries.
- Filter early: apply
WHERE before JOIN when possible to reduce data scanned.
- Use
EXPLAIN / EXPLAIN ANALYZE to inspect query plans for slow queries.
Safety:
- Always use parameterized queries from application code — never string interpolation.
- Wrap destructive operations (
DELETE, UPDATE, DROP) in a transaction.
- Test on a staging/dev environment before running on production.
Naming: snake_case for tables/columns, descriptive names, consistent pluralization.