SQL'de özyineleme

SQL tabanlı ilişkisel veritabanı yönetim sistemleri, hiyerarşik veya özyinelemeli sorgular için yalnızca kısmen uygundur. ArangoDB gibi diğer sistemler bu konuda daha uygundur ( GOTO 2016'da bu konuda harika bir sunum yapılmıştı). Bununla birlikte, örneğin tüm ataları ve torunları için klasik üst/alt tabloları sorgulamanıza olanak tanıyan Ortak Tablo İfadeleri (CTE) kullanarak SQL'de özyinelemeli sorgular oluşturmak da mümkündür.


PostgreSQL'de şöyle görünür, örneğin:

0672c4761d202a35a9059fa137ace7c3

Belirli bir item_id'nin tüm alt öğelerini almak istiyorsanız, Ortak Tablo İfadelerini kullanırsınız.:

0672c4761d202a35a9059fa137ace7c3

Ebeveynleri sorgulamak da sorun değil:

0672c4761d202a35a9059fa137ace7c3

Geri