SQLIntermediate#subqueries

What is a subquery? Correlated vs non-correlated?

A query nested inside another. A non-correlated subquery runs once independently. A correlated subquery references the outer row and conceptually runs per outer row, which can be slow.

Example
-- non-correlated
SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);
-- correlated
SELECT e.name FROM employees e
WHERE salary > (SELECT AVG(salary) FROM employees WHERE dept_id = e.dept_id);

Related Questions

1
SQLIntermediate#subqueries

Difference between IN, EXISTS and JOIN?

Open
2
SQLIntermediate#queries#cte

What is a CTE (Common Table Expression)?

Open
3
SQLAdvanced#cte

How do you write a recursive CTE?

Open