# SQL Best Practices

> 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.

- Skill: `gabrielmoreira/sql-best-practices` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/sql-best-practices`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/sql-best-practices/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/sql-best-practices

---


# 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.

