Επανάληψη σε SQL

Τα σχετικά συστήματα διαχείρισης βάσεων δεδομένων που βασίζονται σε SQL είναι κατάλληλα μόνο υπό όρους για ιεραρχικά ή αναδρομικά ερωτήματα. Άλλα συστήματα όπως το ArangoDB είναι καλύτερα εδώ (υπήρξε μια καλή συζήτηση για αυτό στο GOTO 2016 ). Μπορείτε επίσης να δημιουργήσετε αναδρομικά ερωτήματα σε SQL με τη βοήθεια κοινών εκφράσεων πίνακα και, συνεπώς, να ζητήσετε κλασικούς πίνακες γονέων / παιδιών για όλους τους προγόνους και τους απογόνους.


Στην PostgreSQL μοιάζει με αυτό, για παράδειγμα:

0672c4761d202a35a9059fa137ace7c3

Εάν θέλετε να αποκτήσετε όλα τα παιδιά ενός συγκεκριμένου item_id, χρησιμοποιείτε τις Κοινές εκφράσεις πίνακα:

0672c4761d202a35a9059fa137ace7c3

Η ερώτηση των γονέων δεν αποτελεί πρόβλημα:

0672c4761d202a35a9059fa137ace7c3

Πίσω