Skip to main content
Practice

What is a Subquery?

A subquery is a SQL query written inside another query.

It lets you use one query's result as input for another — making your SQL logic smarter and more dynamic.

Subqueries are also called nested queries or inner queries.


Why Use Subqueries?

You can use subqueries when you want to:

  • Filter or compare based on dynamic results
  • Avoid repeating steps or temporary tables
  • Simplify logic inside WHERE, FROM, or SELECT clauses

Tip: Always wrap subqueries in parentheses.


Example: Users who selected the Python course

In this example, we work with two tables:

  • users: contains user IDs and names
  • user_courses: tracks which courses each user selected

To find users who selected the Python course, we can use a subquery like this:

Subquery to find users of the Python course
SELECT name
FROM users
WHERE user_id IN (
SELECT user_id
FROM user_courses
WHERE course = 'Python'
);

The subquery in the WHERE clause filters the users table to only include users who have selected the Python course.


Result:

name
Sofia
Ethan
Liam

Want to learn more?

Join CodeFriends Plus membership or enroll in a course to start your journey.