Lesson 18 / 33
Queries & QueryBuilder
Build complex queries with TypeORM's fluent QueryBuilder API.
QueryBuilder basics
Use createQueryBuilder() for complex WHERE, JOIN, and ORDER BY logic.
const users = await this.userRepository
.createQueryBuilder('user')
.where('user.age > :minAge', { minAge: 18 })
.andWhere('user.role = :role', { role: 'admin' })
.orderBy('user.name', 'ASC')
.getMany();Joins with QueryBuilder
leftJoinAndSelect() to fetch related entities; leftJoin() if you only need to filter on them.
const users = await this.userRepository
.createQueryBuilder('user')
.leftJoinAndSelect('user.posts', 'post')
.where('post.title LIKE :keyword', { keyword: '%NestJS%' })
.getMany();