What is a Table Subquery?
Returns multiple rows and columns (like a complete table).
Simple analogy: Creating a temporary table to use in your query.
Basic Example
SELECT *
FROM (
SELECT name, age
FROM students
WHERE age > 18
) AS adult_students;How it works:
- Inner query creates temporary result (adults only)
- Outer query uses that result
Real Example
Get average salary per department, then show only high-paying departments:
SELECT *
FROM (
SELECT department, AVG(salary) AS avg_sal
FROM employees
GROUP BY department
) AS dept_avg
WHERE avg_sal > 60000;Summary
Table subquery = Returns full result set Use in FROM clause Acts like a temporary table