SQL Interview Preparation
Prepare for SQL interviews — from basic queries to complex analytical questions, query optimization, and database design challenges.
50 min•By Priygop Team•Last updated: Feb 2026
SQL Interview Questions
- INNER vs LEFT vs FULL JOIN: INNER returns only matching rows from both tables. LEFT returns ALL rows from left table + matching from right (NULL if no match). FULL returns ALL rows from both tables. CROSS JOIN is cartesian product
- GROUP BY & HAVING: GROUP BY groups rows — used with aggregate functions (COUNT, SUM, AVG, MAX, MIN). HAVING filters groups (like WHERE but for aggregated results). WHERE filters rows before grouping, HAVING filters after
- Subqueries vs JOINs: Subqueries in WHERE (correlated — run per row, slower) or FROM (derived table — run once). JOINs usually faster due to optimizer. Use EXISTS for existence checks, IN for small lists
- UNION vs UNION ALL: UNION combines results and removes duplicates (slower — sorts to deduplicate). UNION ALL keeps all rows including duplicates (faster). Use UNION ALL when duplicates are acceptable or impossible
- Normalization: 1NF (atomic values, no repeating groups), 2NF (no partial dependencies on composite keys), 3NF (no transitive dependencies — non-key columns depend only on the primary key). Denormalize for performance in read-heavy scenarios
- Query Optimization: Use EXPLAIN/EXPLAIN ANALYZE to see execution plan. Add indexes on WHERE/JOIN/ORDER BY columns. Avoid SELECT * (fetch only needed columns). Use LIMIT for pagination. Avoid functions on indexed columns in WHERE