SQL tabanlı ilişkisel veritabanı yönetim sistemleri, hiyerarşik veya özyinelemeli sorgular için yalnızca koşullu olarak uygundur. ArangoDB gibi diğer sistemler burada daha iyidir ( GOTO 2016'da bununla ilgili harika bir konuşma yapıldı). Ayrıca, ortak tablo ifadeleri yardımıyla SQL'de özyinelemeli sorgular oluşturabilir ve böylece tüm atalar ve alt öğeler için klasik üst / alt tabloları sorgulayabilirsiniz.
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