Đệ quy trong SQL

Các hệ quản trị cơ sở dữ liệu quan hệ dựa trên SQL chỉ thích hợp có điều kiện cho các truy vấn phân cấp hoặc đệ quy. Các hệ thống khác như ArangoDB tốt hơn ở đây (đã có một cuộc nói chuyện tuyệt vời về điều này tại GOTO 2016 ). Nhưng bạn cũng có thể tạo truy vấn đệ quy trong SQL với sự trợ giúp của các biểu thức bảng phổ biến và do đó truy vấn bảng cha / con cổ điển cho tất cả tổ tiên và con cháu.


Trong PostgreSQL, nó trông như thế này, chẳng hạn:

0672c4761d202a35a9059fa137ace7c3

Nếu bạn muốn lấy tất cả các con của một item_id nhất định, bạn sử dụng Biểu thức bảng chung:

0672c4761d202a35a9059fa137ace7c3

Truy vấn cha mẹ cũng không có vấn đề gì:

0672c4761d202a35a9059fa137ace7c3

Trở lại