Subqueries
A subquery is a query nested inside another query, enclosed in parentheses.
Subqueries can be used in SELECT, FROM, WHERE, and HAVING clauses.
💡 A subquery lets you use the result of one query as input for another — like asking a question about the answer to a previous question.
Basic Syntax
SELECT column1, column2
FROM table1
WHERE column3 IN (
SELECT column FROM table2
);
Example
SELECT first_name, last_name, salary
FROM employees e1
WHERE salary > (
SELECT AVG(salary)
FROM employees e2
WHERE e2.department = e1.department
);
✅ Key Takeaways
- Subqueries must be enclosed in parentheses
- Regular subqueries run once before the outer query
- Can be used in SELECT, FROM, WHERE, and HAVING
- Regular subqueries can often be rewritten as JOINs for better performance
- EXISTS is more efficient than IN for large datasets
- Subqueries in FROM must have an alias