Sistem manajemen basis data relasional berbasis SQL hanya sebagian cocok untuk kueri hierarkis atau rekursif. Sistem lain seperti ArangoDB lebih cocok untuk ini (ada presentasi bagus tentang ini di GOTO 2016 ). Namun, dimungkinkan juga untuk membuat kueri rekursif di SQL menggunakan Common Table Expressions , yang memungkinkan Anda, misalnya, untuk mengkueri tabel induk/anak klasik untuk semua leluhur dan keturunannya.
Di PostgreSQL terlihat seperti ini, misalnya:
0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251
Jika Anda ingin mendapatkan semua anak dari item_id tertentu, Anda menggunakan Ekspresi Tabel Umum:
0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251
Menanyakan orang tua juga tidak masalah:
0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251