16. Subqueries: Queries Inside Queries
Core Idea: A subquery (or inner query) is a nested SELECT statement embedded inside a parent statement such as SELECT, INSERT, UPDATE, or DELETE.
Scalar Subqueries (Single Value)
A scalar subquery returns exactly one column and one row. It can be placed wherever an expression or literal value is valid.
Multi-Row Subqueries (IN / ANY / ALL)
Multi-row subqueries return a list of values evaluated by operators like IN:
Derived Tables (Subquery in FROM)
Subqueries in the FROM clause behave as temporary inline views and require an alias:
Advanced Deep Dive ADVANCED
Correlated vs Non-Correlated: Non-correlated subqueries execute once for the entire query execution. Correlated subqueries reference columns from the outer query and evaluate per candidate row.
Common Table Expressions (CTEs): In modern T-SQL, complex derived table subqueries are often refactored with WITH cte AS (...) to enhance modularity and readability.
Execution Cost: The SQL Server Query Optimizer attempts to unnest subqueries into relational joins when optimal.