Pengulangan dalam SQL

Sistem pengurusan pangkalan data hubungan berasaskan SQL hanya sebahagiannya sesuai untuk pertanyaan hierarki atau rekursif. Sistem lain seperti ArangoDB lebih sesuai untuk ini (terdapat perbincangan hebat tentang ini di GOTO 2016 ). Walau bagaimanapun, pertanyaan rekursif dalam SQL juga boleh dibuat menggunakan Common Table Expressions , yang membolehkan anda, sebagai contoh, membuat pertanyaan pada jadual induk/anak klasik untuk semua nenek moyang dan keturunan.


Dalam PostgreSQL seperti ini, misalnya:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Sekiranya anda ingin mendapatkan semua anak dari item_id tertentu, anda menggunakan Ungkapan Jadual Biasa:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Menanya ibu bapa juga tidak ada masalah:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Belakang