# Queries और QueryBuilder — नेस्टजेएस

Source: https://www.geekswithgeeks.com/hi/nestjs/nestjs-queries

> TypeORM के fluent QueryBuilder API से complex queries build करें।

## QueryBuilder basics

Complex WHERE, JOIN और ORDER BY logic के लिए `createQueryBuilder()` का उपयोग करें।

```typescript
const users = await this.userRepository
  .createQueryBuilder('user')
  .where('user.age > :minAge', { minAge: 18 })
  .andWhere('user.role = :role', { role: 'admin' })
  .orderBy('user.name', 'ASC')
  .getMany();
```

## QueryBuilder के साथ Joins

Related entities को fetch करने के लिए `leftJoinAndSelect()`; अगर आप केवल उन पर filter करना चाहते हैं तो `leftJoin()`।

```typescript
const users = await this.userRepository
  .createQueryBuilder('user')
  .leftJoinAndSelect('user.posts', 'post')
  .where('post.title LIKE :keyword', { keyword: '%NestJS%' })
  .getMany();
```
