#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
Step 10
4 min read

Nested Subqueries

Subqueries inside subqueries - multiple levels deep!

What is a Nested Subquery?

A nested subquery has subqueries inside subqueries - multiple levels!

Simple rule: Solve from inside out - innermost first!

How Nested Subquery Works

Basic Syntax

SELECT * FROM table1 WHERE col > ( SELECT AGG(col) FROM table2 WHERE col IN ( SELECT col FROM table3 ) );

Example: Students Above Honor Average

SELECT name, age FROM students WHERE age > ( SELECT AVG(age) FROM students WHERE grade IN ( SELECT grade FROM honor_roll ) );

Step 1: Inner → honor grades (A, B) Step 2: Middle → AVG age of A,B students (22) Step 3: Outer → students older than 22

Nested Subquery Rules

  1. Solve inside-out - innermost query runs first
  2. Each level returns - value/list/table
  3. Keep it simple - max 2-3 levels recommended

Warning!

Deeply nested queries are hard to read. Consider using JOINs or CTEs instead for complex logic.

Try It Below

Practice with multi-level filtering!

What Comes Next

Next: Correlated Subqueries - subqueries that reference outer query!

Final Result

Nested query: Honor grades (A,B) → AVG age of A,B = 22 → Students older than 22

Source Table: students
idnameagegrade
1John20A
2Mary22B
3Peter21C
4Sarah23A
5Tom24B
5 rows
SQL Editor
Loading...

Filter by Grade

Find honor students (A or B). Try: SELECT name, age FROM students WHERE grade = 'A';

Source Table: students
idnameagegrade
1John20A
2Mary22B
3Peter21C
4Sarah23A
5Tom24B
5 rows
SQL Editor
Loading...

Finished this topic?

Mark it complete to track your progress and maintain your streak!

SkillsetMaster - AI, Web Development & Data Analytics Courses