A subquery is a SELECT nested inside another statement, used when one query needs the answer to a smaller query first. A scalar subquery returns a single value and can sit in the SELECT list or a comparison, while a correlated subquery references the outer row and is re-evaluated for each of them. These questions build the judgement for when a subquery is the clearest tool and when a join or CTE would read better and run faster.