Rekursi di SQL

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

Jika Anda ingin mendapatkan semua anak dari item_id tertentu, Anda menggunakan Ekspresi Tabel Umum:

0672c4761d202a35a9059fa137ace7c3

Menanyakan orang tua juga tidak masalah:

0672c4761d202a35a9059fa137ace7c3

Kembali