Subqueries
EXAMPLE DOCUMENTATION
Subqueries (also known as nested queries) are queries nested within another query. Kysely provides several ways to work with subqueries.
In SELECT Clause
You can use subqueries in SELECT statements to fetch related data:
In WHERE Clause
Subqueries can be used in WHERE clauses for filtering:
In FROM Clause
You can use subqueries in the FROM clause to query derived tables:
EXISTS and NOT EXISTS
Check for the existence of related records:
Correlated Subqueries
Subqueries that reference the outer query:
Best Practices
- Use meaningful aliases for subqueries to improve readability
- Consider performance implications - some subqueries might be better expressed as JOINs
- Use type parameters with
.as()
to ensure type safety:
- Break down complex subqueries into smaller, more manageable pieces using CTEs when possible
Common Gotchas
- Remember to use
ref()
when referencing outer query columns - Subqueries in SELECT must return a single value unless used with IN/EXISTS
- Correlated subqueries can impact performance on large datasets