In SQL, a Subquery is a query within a query.
Subqueries provide data to the enclosing query.
Subqueries can return individual values or a list of records.
Subqueries must be enclosed with brackets ().
List all suppliers with the number of products they offer.
SELECT CompanyName,
ProductCount = (SELECT COUNT(P.id)
FROM [Product] P
WHERE P.SupplierId = S.Id)
FROM Supplier S
The nested SELECT between brackets is the Subquery.
| CompanyName | ProductCount |
|---|---|
| Exotic Liquids | 3 |
| New Orleans Cajun Delights | 4 |
| Grandma Kelly's Homestead | 3 |
| Tokyo Traders | 3 |
| Cooperativa de Quesos 'Las Cabras' | 2 |
![]() |
|
There is no general syntax. Subqueries are regular queries placed inside parenthesis.
Subqueries can be used in different ways and at different locations inside a query.
A subquery with the IN operator.
SELECT column-names
FROM table-name1
WHERE value IN (SELECT column-name
FROM table-name2
WHERE condition)
SELECT column1 = (SELECT column-name
FROM table-name
WHERE condition),
column-names
FROM table-name
WHERE condition
| ORDERITEM |
|---|
| Id |
| OrderId |
| ProductId |
| UnitPrice |
| Quantity |
| PRODUCT |
|---|
| Id |
| ProductName |
| SupplierId |
| UnitPrice |
| Package |
| IsDiscontinued |
SELECT ProductName
FROM Product
WHERE Id IN (SELECT ProductId
FROM OrderItem
WHERE Quantity > 100)
| ProductName |
|---|
| Guaraná Fantástica |
| Schoggi Schokolade |
| Chartreuse verte |
| Jack's New England Clam Chowder |
| Rogede sild |
| Manjimup Dried Apples |
| Perth Pasties |
![]() |
| CUSTOMER |
|---|
| Id |
| FirstName |
| LastName |
| City |
| Country |
| Phone |
| ORDER |
|---|
| Id |
| OrderDate |
| OrderNumber |
| CustomerId |
| TotalAmount |
SELECT FirstName, LastName,
OrderCount = (SELECT COUNT(O.id)
FROM [Order] O
WHERE O.CustomerId = C.Id)
FROM Customer C
This is called a correlated subquery because the subquery references the enclosing query, specifically, the C.Id in the WHERE clause.
| FirstName | LastName | OrderCount |
|---|---|---|
| Maria | Anders | 6 |
| Ana | Trujillo | 4 |
| Antonio | Moreno | 7 |
| Thomas | Hardy | 13 |
| Christina | Berglund | 18 |
| Hanna | Moos | 7 |
| Frédérique | Citeaux | 11 |
| Martín | Sommer | 3 |
![]() |
||