---
url: https://scruple.dev/rules/relational-databases/prefer-database-join.md
description: Prefer joining related query results in the database.
---

# relational-databases/prefer-database-join

Prefer joining related query results in the database.

## What it checks

Use a join, relation include, aggregation, subquery, or filtered query when it can replace combining multiple relational query results in memory.

## Rule metadata

* Package: `@scruple/relational-databases`
* Category: Database performance
* Tags: sql, joins, queries
* Default threshold: `0.85`
* Minimum confidence: `0.7`

## Examples

### Reported

```ts
const users = await db.user.findMany(); const teams = await db.team.findMany(); return users.map(u => ({ ...u, team: teams.find(t => t.id === u.teamId) }));
```

### Accepted

```ts
return db.user.findMany({ include: { team: true } });
```
