# Quan hệ: include và lọc qua bảng liên kết

Join theo foreign key đã khai báo. Không nhận raw JOIN SQL hoặc nối bảng tùy ý.

Nguồn: https://whypik.com/docs/data-relations
Nhóm: Lập trình viên
Phiên bản tài liệu: 2026-10-14.10
Ngôn ngữ: vi

## Khai báo tên quan hệ

Liên kết mục: https://whypik.com/docs/data-relations#section-0

Trong schema, cột players.server_id references servers.id với alias:"server", reverse_alias:"players". Alias là tên dùng trong SDK, không phải tên bảng tự đoán. Tải lại TypeScript types sau khi thay schema.

```
{"name":"server_id","type":"bigint","references":{
  "table":"servers","column":"id","alias":"server",
  "reverse_alias":"players","on_delete":"restrict"
}}
```


## Forward và reverse

Liên kết mục: https://whypik.com/docs/data-relations#section-1

Forward trả object hoặc null nếu không có/không được thấy dòng liên kết. Reverse trả array; nếu FK có ràng buộc một cột PRIMARY/UNIQUE thì là to-one. Unique index riêng không tự đổi shape array.

```
const players = await client.from("players")
  .include({server:{columns:["id","name"]}}).select("id", "nickname");
const servers = await client.from("servers")
  .include({players:{columns:["id","nickname"],limit:10}}).select("id", "name");
```


## Lọc liên kết

Liên kết mục: https://whypik.com/docs/data-relations#section-2

server__id trong filter đi theo alias. Điều kiện quan hệ có thể loại dòng gốc khi không có dòng liên kết khớp/quyền đọc. Cần quyền đọc cột nối trên cả hai bảng; include không bỏ qua RLS.

```
await client.from("players").filter({server__id:"1"}).select();
```


## Giới hạn

Liên kết mục: https://whypik.com/docs/data-relations#section-3

Độ sâu tối đa 2, reverse to-many mặc định 20 con, tối đa 100 con mỗi relation. Tổng expanded rows tối đa kỹ thuật 2000 và response 5 MiB; giảm limit gốc/con khi vượt. Include chỉ dùng với reads. Không có aggregate, arbitrary join, cross-project join hoặc realtime subscription ở bản này.


## Đọc tiếp

- [Tham chiếu cấu trúc bảng](https://whypik.com/docs/schema-reference)
- [Quản trị viên và quyền dữ liệu dùng chung](https://whypik.com/docs/database-permissions)
- [Data API: chọn cột, lọc và phân trang](https://whypik.com/docs/data-queries)
