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

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


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

0672c4761d202a35a9059fa137ace7c3

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

0672c4761d202a35a9059fa137ace7c3

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

0672c4761d202a35a9059fa137ace7c3

Πίσω