nestjs 联表查询
时间: 2024-11-14 10:02:09 浏览: 2
Nestjs基础到实战.pdf
在 NestJS 中,联表查询(也称为 JOIN 查询)是指在一个 SQL 查询中同时从两个或多个表格中检索数据,通常是基于它们之间的关联字段。NestJS 提供了内置的typeorm ORM模块,它支持通过TypeORM提供的QueryBuilder或者Repository接口来进行数据库操作,包括联表查询。
例如,假设你有两个实体 Entity A 和 Entity B,它们之间有一个共同字段 user_id。你可以这样做:
```typescript
import { Query } from '@nestjs/typeorm';
@Query('SELECT * FROM a_table LEFT JOIN b_table ON a_table.user_id = b_table.user_id')
async findABWithJoin(ARepo: ARepository, BRRepo: BRepository) {
return await Promise.all([ARRepo.find(), BRRepo.find()]);
}
```
在这里,`findABWithJoin`函数会执行一个左连接(LEFT JOIN),返回A和B表中所有关联到相同user_id的数据。你也可以根据需要选择INNER JOIN、RIGHT JOIN等。
阅读全文