18. Subqueries: SELECT in WHERE
Core Idea: Subqueries can be used directly within the WHERE clause to dynamically filter records based on criteria computed from other tables or aggregations.
Syntax Shape with IN
Comparison with Aggregate Subquery
Multiple Subquery Filters
Advanced Deep Dive ADVANCED
Correlated Subqueries: Subqueries referencing outer query columns run per candidate row; optimize these or refactor into joins when dealing with massive datasets.
IN vs EXISTS: EXISTS is typically faster when testing existence across large datasets because the database engine can stop evaluating once the first match is found.
Scalar Subqueries: A scalar subquery in WHERE must return exactly one value; returning multiple values causes runtime error 512 ("Subquery returned more than 1 value").
Query Plan Caching: Use parameterized subqueries so SQL Server can reuse compiled execution plans efficiently.