SQL'de özyineleme

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

Geri